服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - Docker安装部署Net Core实现过程解析

Docker安装部署Net Core实现过程解析

2021-06-01 17:44人间有妖气 服务器知识

这篇文章主要介绍了Docker安装部署Net Core实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、docker 安装及设置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#安装 CentOS已经将Docker软件包放在了Extras软件源中,直接利用即可
yum install docker-io -y
 
#查看docker的版本 version
docker -v
 
#开启Docker服务
systemctl start docker.service
 
#开机启动Docker服务
systemctl enable docker.service
 
#查看Docker服务启动状态
systemctl status docker.service
 
#重启Docker服务
systemctl restart docker.service

二、新建Net Core 程序

1、新建Net Core 项目。注意不启动Docker 支持

Docker安装部署Net Core实现过程解析

2、发布新建的项目(目标运行时:可移植)

Docker安装部署Net Core实现过程解析

3、在发布后的文件夹中新建一个Dockerfile 文件(没有后缀)

大概内容如下:

?
1
2
3
4
5
6
FROM microsoft/dotnet:2.1-aspnetcore-runtime  //注意和你的版本要匹配
WORKDIR /app
COPY . . //将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录。
EXPOSE 5000 //端口号(将容器 5000 端口暴露出来, 允许外部连接这个端口。)
//EXPOSE 443 //Https 端口开启
ENTRYPOINT ["dotnet", "DockerDemo5.dll"] //运行的程序集 改成你自己的

Docker安装部署Net Core实现过程解析

三、上传发布后的项目到Linux服务器(CentOS)

1、进入程序的发布目录

?
1
2
3
4
5
6
7
8
9
#进入到程序的发布目标
cd /data/web/mydocker
 
#创建 image文件 (-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签 PS:注意最后的 点)
docker build -t aspnetcoredocker1.1 .
 
#生成容器,每运行一次,就会新建一个容器(这里的5000:5000 代表把容器内的5000端口映射到你主机的5000端口,容器端口在后)
docker run -it -p 5000:5000 aspnetcoredocker1.1
#docker run -it -p 5000:5000 aspnetcoredocker1.1:TAG  // 默认TAG是latest

Docker安装部署Net Core实现过程解析

2、直接访问就可以了

Docker安装部署Net Core实现过程解析

3、docker 容器自动启动(在容器退出或断电开机后,docker可以通过在容器创建时的 --restart参数来指定重启策略)

?
1
2
3
4
5
6
7
8
9
10
11
# 设置启动策略
docker run --restart always -it -p 5000:5000 aspnetcoredocker1.1
 
#如果容器已经被创建,我们想要修改容器的重启策略
docker update --restart always 3ec28be7254a //容器ID
 
 
# --restart 多个参数值选择
no 不自动重启容器. (默认值)
on-failure 容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10
unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器

4、docker 相关命令

镜像文件和容器命令

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#查看所有镜像
docker images
 
#删除一个imageid的镜像
docker rmi [IMAE_ID]
 
#删除所有镜像
sudo docker rmi $(docker images -q)
 
 
#查看所有容器运行状态
docker ps -a 
docker container ls -all
 
#删除一个containerid的容器(实例)
docker rm 6f0c67de4b72
 
#删除所有容器
docker rm $(sudo docker ps -a -q)

容器日志

?
1
2
3
4
5
6
7
8
9
10
11
#查看指定时间后的日志,只显示最后100行:
docker logs -f -t --since="2019-06-08" --tail=100 CONTAINER_ID
 
#查看某时间之后的日志:
docker logs -t --since="2019-06-08" CONTAINER_ID
 
#查看某时间段日志:
docker logs -t --since="2019-06-08" --until "2019-06-09" CONTAINER_ID
 
#查看最近30分钟的日志:
docker logs --since 30m CONTAINER_ID

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/songl/p/11128012.html

延伸 · 阅读

精彩推荐