Linux系统docker部署.net core3.1
此篇文章演示基本的基于docker部署.netcore服务,linux系统腾讯云ubuntu,.net core版本3.1。
1.安装docker
apt install docker.io
2.拉取.net core依赖镜像
docker pull mcr.microsoft.com/dotnet/core/aspnet:latest
3.创建.net core3.1项目,选择docker支持,会生成dockerFile配置文件如图:
4.编写dockerfile文件,经删减后为:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster
WORKDIR /app
EXPOSE 5000
COPY . .
ENTRYPOINT ["dotnet", "MyDockerApi.dll"]
5.发布项目到本地
注意下,dockerFile文件一定要带过来,接下来,将所有文件,压缩成zip包。。最好是zip,不然linux解压很麻烦
6.在linux系统根目录,新建(mkdir)project文件夹,进入(cd)project文件夹,继续新建myDockerApi文件夹,然后进入。
7.上传刚才的zip压缩包,并解压
上传命令:rz -y,本地选择,上传进来,解压命令:unzip -o MyDockerApi.zip
8.镜像打包
docker build -t my1api . 注意最后有一个.,
9.创建基于该镜像的docker容器,并启动
命令:docker run --name API8082 -p 8081:5000 my1api ,参数解读:
--name xxxxx:容器名字
8081:将liunx端口分配给该容器的端口
:5000:将物理机端口映射到docker程序的启动端口
my1api:使用的镜像名称
可以看到,服务已经起来了,这时候,如果外部想要访问服务,需要在腾讯云防火墙新增出站端口8081
这时候,访问服务接口:
使用命令,列出当前所有容器,状态等等:
docker container ls -a
容器的启动/停止命令:
docker start API8082(容器名称/ID)
docker stop API8082(容器名称/ID)
10.如果代码更新了,怎么办
(1)将更新好的代码上传
(2)重新build镜像
(3)停止docker容器
(4)删除docker容器 docker rm 容器名称/ID
(5)重新创建容器并启动 docker run --name API8082 -p 8081:5000 my1api
docker exec -it ID/容器名称 /bin/bash,进入容器终端。
docker logs 容器ID/名称,查看该容器日志
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)