五、Centos/Linux系统下使用Docker部署Asp.Net Core项目

一、安装Docker
1.开始安装:首先执行命令安装所需的包。其中yum-utils 提供了yum-config-manager工具;device-mapper-persistent-data及lvm2则是devicemapper存储驱动所需的包。
sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
五、Centos/Linux系统下使用Docker部署Asp.Net Core项目_第1张图片

2.设置稳定的存储库:sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
在这里插入图片描述

3.安装(此步骤需要2-3分钟):sudo yum install docker-ce
常用命令如下:

更新yum包索引: sudo yum makecache fast
列出当前可用的docker版本:yum list docker-ce.x86_64 -- showduplicates | sort -r
安装想要安装的Docker CE版本:sudo yum install docker-ce-
删除Docker软件包:sudo yum remove docker-ce
删除Docker存储文件(镜像、容器、卷):sudo rm -rf /var/lib/docker

五、Centos/Linux系统下使用Docker部署Asp.Net Core项目_第2张图片

4.启动:sudo systemctl start docker

5.验证是否成功: sudo docker version
五、Centos/Linux系统下使用Docker部署Asp.Net Core项目_第3张图片

二、Asp.Net Core 发布前的准备(镜像的选择与拉取+环境搭建)

检查发布项目.net core 版本:
五、Centos/Linux系统下使用Docker部署Asp.Net Core项目_第4张图片
拉取镜像有两种方式如下:

  1. 使用命令拉取镜像: docker pull microsoft/dotnet:2.0-sdk

查看结果:docker images

  1. 使用Dockerfile 文件拉取

新建文件夹:mkdir -m 700 -p /release/yudao8081
编辑文件(i:进入编辑模式;esc:退出编辑模式;wq:保存并退出):vim /release/yudao8081/Dockerfile
内容如下:

FROM microsoft/dotnet:2.0-[skd | aspnetcore-runtime]
WORKDIR /yudao8081
EXPOSE 8081
COPY  . .


ENTRYPOINT ["dotnet", "Yudao.WebApi.dll"]

五、Centos/Linux系统下使用Docker部署Asp.Net Core项目_第5张图片

进入文件夹:cd /release/yudao8081
创建一个镜像(注意:结尾有个点;如果没有该镜像,会自动拉取):docker build -t yudao8081 .
五、Centos/Linux系统下使用Docker部署Asp.Net Core项目_第6张图片

检查镜像:docker images
在这里插入图片描述

删除镜像:docker rmi yudao8081(可以使用镜像的名称或者镜像的 ID进行删除)
五、Centos/Linux系统下使用Docker部署Asp.Net Core项目_第7张图片
三、项目部署
Docker命令:

删除容器:docker remove yudao
查询所有容器:docker ps -a
查询运行容器:docker ps
停止容器:docker stop yudao
启动docker 容器:docker start yudao
查看容器日志(异常):docker logs  + 容器id

首先修改项目运行时监听的端口,在项目文件Program下:

public class Program
{
      public static void Main(string[] args)
      {
          BuildWebHost(args).Run();
      }

      public static IWebHost BuildWebHost(string[] args) =>
          WebHost.CreateDefaultBuilder(args)
              .UseUrls("http://*:8081")
              .UseKestrel()  
              .UseStartup()
              .Build();
  }

上传发布文件(记住要拷贝文件yudao.webapi.xml否则正式运行时会报错,在bin\netcoreapp2.0下):使用Xftp上传至目录
/release/yudao8081/
五、Centos/Linux系统下使用Docker部署Asp.Net Core项目_第8张图片

创建镜像(注意:结尾有个点,用于路径参数传递,表示当前路径):docker build -t yudao8081 .
创建容器:docker run --name yudao8081 -d -p 8081:8081 yudao8081
在这里插入图片描述
查询运行容器:docker ps
CONTAINER ID:容器ID;IMAGE:镜像名称;COMMAND:启动容器时运行的命令;CREATED:容器创建时间;
STATUS:容器运行的状态;PORTS:容器对外端口;
NAMES:容器名称,该名称默认由Docker自动生成,也可使用docker run命令的-name选项自行指定。
在这里插入图片描述
访问成功:
五、Centos/Linux系统下使用Docker部署Asp.Net Core项目_第9张图片

你可能感兴趣的:(Asp.net,Core,centos,docker,asp.net,core)