• 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/名称,查看该容器日志

     

  • 相关阅读:
    聊聊计算机之Intel CPU的MESI协议
    鸿蒙开发接口媒体:【@ohos.multimedia.camera (相机管理)】
    Vertica 向 GBase8a 迁移指南之VARBINARY/BYTEA/RAW 数据类型
    CentOS安装htop工具
    Spring Boot中的@Controller使用教程
    第二十五章 Classes - 基于数据类型的属性
    Util应用框架核心(二) - 启动器
    Jenkins+Pipeline Script+Groovy+Mysql 持续集成配置
    【概率论与数理统计】计算机保研复习
    Nginx代理
  • 原文地址:https://www.cnblogs.com/saltlight-wangchao/p/16646005.html