我可以不吃啊 发表于 2024-10-25 02:36:54

第43篇 Linux上使用docker部署.net8项目详细教程

在docker上部署自己的.net8 webapi,以腾迅linux云服务为例:

1.安装docker

1.1 检察docker是否已安装:

命令:docker -v
https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024230848484-122840567.png
如果显示版本,阐明已经安装成功,无需再安装
1.2 docker未安装,实行以下步调安装

1.2.1 添加 Docker 软件源。

dnf config-manager --add-repo=http://mirrors.tencent.com/docker-ce/linux/centos/docker-ce.repo1.2.2 检察已添加的 Docker 软件源。

dnf list docker-ce1.2.3 安装docker

dnf install -y docker-ce --nobest1.2.4 运行docker

systemctl start docker1.2.5 检察docker信息

docker infohttps://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024231507959-2145687049.png
2.创建webapi项目

2.1 新建办理方案

https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024231648384-2010316001.png
写上自己业务逻辑的控制器和方法
2.2 选择项目AspNetCoreWebApi,

https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024231648384-2010316001.png
右键添加docker支持,
https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241025001444057-422467515.png
添加成功会出现Dockerfile【D必须大写】
https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024232007901-1438415705.png
内容大致如下:
https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024232158920-951507342.png
打开项目 目录 Properties 下 launchSettings.json 文件,将会看到新增的如下内容:
https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024232240545-197997356.png
必要注意的是Dockerfile文件中的 EXPOSE后方的端口必要与 Properties\launchSettings.json 文件中的 ASPNETCORE_HTTP_PORTS 指定端端口一致,该端口在部署到 docker 后,将作为容器端口使用。
3.发布项目

3.1 发布上传

https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024232604727-2059091940.png
https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024232627099-896088448.png
将public目录下的所有文件上传到linux服务器上,linux上传目录如下:/root/dockerwebapi/AspNetCoreWebApi/publish
https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024232737965-511485978.png
3.2 定位到public同级目录,创建Dockerfile文件

touch Dockerfile
vim   Dockerfilehttps://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024233016376-1889697501.png
3.3 vim编辑,输入下面的内容

FROM mcr.microsoft.com/dotnet/aspnet:8.0.0
WORKDIR /publish
EXPOSE 18080
EXPOSE 443
COPY ./publish/ .
ENV ASPNETCORE_URLS http://+:18080
ENTRYPOINT ["dotnet","AspNetCoreWebApi.dll"]注意:ENTRYPOINT ["dotnet","AspNetCoreWebApi.dll"]AspNetCoreWebApi.dll是我项目的dll。项目不一样名字就不一样。这里请用现实项目的dll名称哦
4.生成镜像

4.1 生成镜像

docker build -t AspNetCoreWebApi .https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024233656376-2058523098.png
4.2 检察镜像

docker imageshttps://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024233752750-942007829.png
镜像创建成功
5运行镜像

docker run -d -p 18080:18080 --name mywebapicontainer aspnetcorewebapi
#-d:后台运行   -P:暴露端口给客户端访问   --name 创建一个容器 指定镜像输入下列命令。检察运行的进程。方便定位信息
docker pshttps://img2024.cnblogs.com/blog/2212230/202410/2212230-20241025000805834-1123956036.png
5.2 地址访问

https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241024235828919-440859465.png
https://img2024.cnblogs.com/blog/2212230/202410/2212230-20241025000051327-649046296.png
成功访问,项目正常发布成功,nice!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 第43篇 Linux上使用docker部署.net8项目详细教程