一、安装Docker
1.开始安装:首先执行命令安装所需的包。其中yum-utils 提供了yum-config-manager工具;device-mapper-persistent-data及lvm2则是devicemapper存储驱动所需的包。
:sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
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
4.启动:sudo systemctl start docker
二、Asp.Net Core 发布前的准备(镜像的选择与拉取+环境搭建)
检查发布项目.net core 版本:
拉取镜像有两种方式如下:
docker pull microsoft/dotnet:2.0-sdk
查看结果:docker images
新建文件夹: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"]
进入文件夹:cd /release/yudao8081
创建一个镜像(注意:结尾有个点;如果没有该镜像,会自动拉取):docker build -t yudao8081 .
删除镜像:docker rmi yudao8081
(可以使用镜像的名称或者镜像的 ID进行删除)
三、项目部署
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/
创建镜像(注意:结尾有个点,用于路径参数传递,表示当前路径):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选项自行指定。
访问成功: