翼度科技»论坛 编程开发 .net 查看内容

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

4

主题

4

帖子

12

积分

新手上路

Rank: 1

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

1.安装docker

1.1 查看docker是否已安装:

命令:docker -v

如果显示版本,说明已经安装成功,无需再安装
1.2 docker未安装,执行以下步骤安装

1.2.1 添加 Docker 软件源。
  1. dnf config-manager --add-repo=http://mirrors.tencent.com/docker-ce/linux/centos/docker-ce.repo
复制代码
1.2.2 查看已添加的 Docker 软件源。
  1. dnf list docker-ce
复制代码
1.2.3 安装docker
  1. dnf install -y docker-ce --nobest
复制代码
1.2.4 运行docker
  1. systemctl start docker
复制代码
1.2.5 查看docker信息
  1. docker info
复制代码

2.创建webapi项目

2.1 新建解决方案


写上自己业务逻辑的控制器和方法
2.2 选择项目AspNetCoreWebApi,


右键添加docker支持,

添加成功会出现Dockerfile【D必须大写】

内容大致如下:

打开项目 目录 Properties 下 launchSettings.json 文件,将会看到新增的如下内容:

需要注意的是Dockerfile文件中的 EXPOSE后方的端口需要与 Properties\launchSettings.json 文件中的 ASPNETCORE_HTTP_PORTS 指定端端口一致,该端口在部署到 docker 后,将作为容器端口使用。
3.发布项目

3.1 发布上传



将public目录下的所有文件上传到linux服务器上,linux上传目录如下:/root/dockerwebapi/AspNetCoreWebApi/publish

3.2 定位到public同级目录,创建Dockerfile文件
  1. touch Dockerfile
  2. vim   Dockerfile
复制代码

3.3 vim编辑,输入下面的内容
  1. FROM mcr.microsoft.com/dotnet/aspnet:8.0.0
  2. WORKDIR /publish
  3. EXPOSE 18080
  4. EXPOSE 443
  5. COPY ./publish/ .
  6. ENV ASPNETCORE_URLS http://+:18080
  7. ENTRYPOINT ["dotnet","AspNetCoreWebApi.dll"]
复制代码
注意:ENTRYPOINT ["dotnet","AspNetCoreWebApi.dll"]AspNetCoreWebApi.dll是我项目的dll。项目不一样名字就不一样。这里请用实际项目的dll名称哦
4.生成镜像

4.1 生成镜像
  1. docker build -t AspNetCoreWebApi .
复制代码

4.2 查看镜像
  1. docker images
复制代码

镜像创建成功
5运行镜像
  1. docker run -d -p 18080:18080 --name mywebapicontainer aspnetcorewebapi
  2. #-d:后台运行     -P:暴露端口给客户端访问   --name 创建一个容器 指定镜像
复制代码
输入下列命令。查看运行的进程。方便定位信息
  1. docker ps
复制代码

5.2 地址访问



成功访问,项目正常发布成功,nice!

来源:https://www.cnblogs.com/chenshibao/p/18501537
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
来自手机

举报 回复 使用道具