在Docker中运行Asp.net Core应用

Posted by Simon Dong on 2019-03-07

安装Docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#移除旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
#安装依赖
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
#安装PGP密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#更新镜像源
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
#安装Docker
# 安装软件
sudo apt update && sudo upgrade
sudo apt-get install docker-ce

创建支持Docker运行的Asp.net core应用

在新建项目时,勾选Enable Docker Support,假设项目名称为ADClientWeb

1529417901378

创建Docker镜像

  1. 在Docker服务器上新建目录ADClientWeb,并创建Dockerfile文件

    1
    2
    3
    4
    5
    FROM microsoft/dotnet:2.1-aspnetcore-runtime
    WORKDIR /app
    COPY . .
    EXPOSE 80
    ENTRYPOINT ["dotnet", "ADClientWeb.dll"]
  2. 拷贝项目编译结果到ADClientWeb目录下,并在此目录下执行命令

    1
    docker build -t ADClientWeb .

    输出:

    1552820848289

执行docker image ls可以看到已创建的Docker镜像

1552820996419

运行

执行docker run --name=ADClientWeb -p 8080:80 -d adclient_web 即可。

执行docker run --restart=always --name=ADClientWeb -p 8080:80 -d adclient_web可使镜像在重启机器后自动运行。

输出:

1552821194248

Reference

ASP.NET Core 2.1 使用Docker运行

Docker环境设置

Docker常用命令