使用Docker部署.Net Core 2.2,如无Docker环境查看搭建教程
1、右键项目添加Docker支持,并修改Docker文件

修改为最简单的 其他可以先移除

2、上传到虚拟机并执行编译
上传成功后有以下几个文件
[root@localhost docker_mvc]# ll 总用量 260 -rw-r--r--. 1 root root 105 8月 22 18:18 appsettings.json -rw-r--r--. 1 root root 391 8月 22 18:18 Dockerfile -rw-r--r--. 1 root root 235296 8月 22 18:18 Docker.TestMvc.deps.json -rw-r--r--. 1 root root 7168 8月 22 18:18 Docker.TestMvc.dll -rw-r--r--. 1 root root 1636 8月 22 18:18 Docker.TestMvc.pdb -rw-r--r--. 1 root root 224 8月 22 18:18 Docker.TestMvc.runtimeconfig.json -rw-r--r--. 1 root root 558 8月 22 18:18 web.config
docker编译 docker build -t dockertestmvc .
dockertestmvc 为镜像名称 可自定义 docker images 查看编译成功的镜像 可以看到dockertestmvc 这个镜像
docker build 命令后面有个 . 切记表示当前目录
[root@localhost docker_mvc]# docker build -t dockertestmvc . Sending build context to Docker daemon 251.9kB Step 1/5 : FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base ---> e7e3b238011c Step 2/5 : WORKDIR /app ---> Running in 732887014cc6 Removing intermediate container 732887014cc6 ---> c7eae96168d2 Step 3/5 : EXPOSE 5000 ---> Running in 4906a346543d Removing intermediate container 4906a346543d ---> cf4c8b169f94 Step 4/5 : COPY . /app ---> 0d63dbfdfdad Step 5/5 : ENTRYPOINT ["dotnet", "Docker.TestMvc.dll"] ---> Running in 5bf8e0988178 Removing intermediate container 5bf8e0988178 ---> f9cb68e0cd91 Successfully built f9cb68e0cd91 Successfully tagged dockertestmvc:latest [root@localhost docker_mvc]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE dockertestmvc latest f9cb68e0cd91 24 seconds ago 261MB mcr.microsoft.com/dotnet/core/aspnet 2.2-stretch-slim e7e3b238011c 7 months ago 261MB
3、Docker运行镜像 并验证
docker run 运行容器 docker run --name 容器名 -d -p 寄主机端口:容器端口(dockerfile里面暴露的端口) 镜像名
docker ps 正在运行的容器 可以看到本机8000映射到了容器的80端口 浏览器访问本机8000端口即可验证成功
docker logs 容器Id 可查看日志
[root@localhost docker_mvc]# docker run --name docker-test -d -p 8000:80 dockertestmvc 2b25e79756072af208b928d0170754eee0d98d514996dca5603ddf3b699af077 [root@localhost docker_mvc]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27c09333e28c dockertestmvc "dotnet Docker.TestM…" 24 seconds ago Up 22 seconds 0.0.0.0:8000->80/tcp docker-test
[root@localhost docker_mvc]# docker logs 2b25e7975607 warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] No XML encryptor configured. Key {23c83ac3-bc8d-4b42-83fe-4aa005e20e64} may be persisted to storage in unencrypted form. Hosting environment: Production Content root path: /app Now listening on: http://[::]:80 Application started. Press Ctrl+C to shut down.
浏览器验证

1、若直接使用 mcr.microsoft.com 镜像编译时会很卡。查看教程搭建私有仓储
本文作者:Cheng
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 本原创文章未经允许不得转载 许可协议。转载请注明出处!