Docker 部署 Net Core
一、docker 安装及设置
1 #安装 CentOS已经将Docker软件包放在了Extras软件源中,直接利用即可 2 yum install docker-io -y 3 4 #查看docker的版本 version 5 docker -v 6 7 #开启Docker服务 8 systemctl start docker.service 9 10 #开机启动Docker服务 11 systemctl enable docker.service 12 13 #查看Docker服务启动状态 14 systemctl status docker.service 15 16 #重启Docker服务 17 systemctl restart docker.service
二、新建Net Core 程序
1、新建Net Core 项目。注意不启动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
分类:
Linux
, Asp.Net Core
标签:
NetCore Docker
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律