Docker安装部署NetCore实现过程解析⼀、docker 安装及设置
#安装 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重启容器命令
2、发布新建的项⽬(⽬标运⾏时:可移植)
3、在发布后的⽂件夹中新建⼀个Dockerfile ⽂件(没有后缀)
⼤概内容如下:
FROM microsoft/dotnet:2.1-aspnetcore-runtime //注意和你的版本要匹配
WORKDIR /app
COPY . . //将当前⽬录下的所有⽂件(除了.dockerignore排除的路径),都拷贝进⼊ image ⽂件的/app⽬录。
EXPOSE 5000 //端⼝号(将容器 5000 端⼝暴露出来,允许外部连接这个端⼝。)
//EXPOSE 443 //Https 端⼝开启
ENTRYPOINT ["dotnet", "DockerDemo5.dll"] //运⾏的程序集改成你⾃⼰的
三、上传发布后的项⽬到Linux服务器(CentOS)
1、进⼊程序的发布⽬录
#进⼊到程序的发布⽬标
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
2、直接访问就可以了
3、docker 容器⾃动启动(在容器退出或断电开机后,docker可以通过在容器创建时的 --restart参数来指定重启策略)
# 设置启动策略
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 相关命令
镜像⽂件和容器命令
#查看所有镜像
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)
容器⽇志
#查看指定时间后的⽇志,只显⽰最后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
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论