.NetCore 发布到 Centos docker
https://www.cnblogs.com/wmyll/p/10687818.html
首先在linux环境下安装docker
1、卸载旧版本
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \
2、安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、添加储存库
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、安装docker-ce
sudo yum -y install docker-ce
5、启动docker
systemtcl start docker
6、查看状态
sysytemtcl status docker 或者也可以使用 docker info
7、使用docker加速(没有使用加速的话可能会出现等待超时的错误)(linux,windows,mac--https://www.daocloud.io/mirror)
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
8、重启docker
sysytemtcl restart docker
在这里我们需要修改一下发布文件下的dockerfile文件,这里和windows上运行的文件内容可能会有点点差异,我们并不需要太多的点缀。
在我们发布文件中是没有.csproj文件的并且发布之后文件路径也是需要修改的,我这里稍微调整了一下我的dockerfile文件
# 拉取基础镜像 FROM microsoft/dotnet:2.2-aspnetcore-runtime #容器中系统的工作空间 WORKDIR /app #拷贝当前文件夹下的文件到容器中系统的工作空间 COPY . /app #设置Docker容器端口 EXPOSE 5002 #使用ENTRYPOINT ["dotnet"," project.dll"] ENTRYPOINT ["dotnet", "DockerTest.dll"]
并且上传至服务器,然后我们在Linux服务器上进入刚创建的文件夹中
开始构建镜像
docker build -t demo .
查看镜像
docker images
运行容器
docker run --name=demo -p 5002:5002 -d demo
查看运行的容器
docker ps
如果没有发现刚运行的容器可以查看运行日志
docker logs demo
解决完问题之后我们就可以在浏览器输入ip+5002来检查下我们是否运行成功
Dokcerfile文件下的常用指令详解
FROM 文件中第一条非注释INSTRUCTION一定是FROM,意思是以某一个镜像为基础,首先会检查本地是否存在此镜像,如果本地存在就不会从仓库里面获取 WORKDIR 指定工作目录 EXPOSE 为构建的镜像设置监听端口 COPY 讲源文件复制到目标文件中去 RUN 用于在镜像容器中执行命令
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下