• 使用dockercompose部署.net6(.net core)项目


    【第1步】创建一个.net6项目

    使用visual studio创建一个.net6 mvc或webapi项目,项目取名为:dotnet6Demo

    【第2步】创建Dockerfile文件

    在mvc项目中添加Dockerfile文件,设置为始终复杂,文件内容为:

    FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
    #容器工作目录
    WORKDIR /app
    
    #容器入口点
    ENTRYPOINT ["dotnet", "dotnet6Demo.web.dll"]

    【第3步】创建docker-ocmpose.yml文件

    在mvc项目创建docker-compose.yml文件,设置为始终复制,内容为:

    version: "3.8"
    services:
      demo-web:
        container_name: my-demo-web
        build:
          context: ./
          dockerfile: Dockerfile
        image: dotnet6-demo:0.0.2
        ports:
          - 8082:80
        networks:
          - my-network
        volumes:
          - /mydata/demo-web/logs:/logs
        restart: always
        #depends_on:
        # - myredis
      #myredis:
      #  image: redis:6.2.6
    
    networks:
      my-network:
        external:
         name: mynet

    配置说明:

    demo-web 服务名称,可以配多个服务。

    container_name 容器名称。

    build 构建镜像路径及自定义dockerfile名称。

    image 镜像名。

    ports 对外暴露的端口(8002)与容器内部端口(80)。

    networks external 表示使用自定义网络,自定义网络mynet必须先创建。

    values 数据卷,帽号左边是宿主机目录(必须先创建),右边是容器内目录(logs)。

    restart: alway  docker启动时或容器挂掉时自动重启。

    depends_on 依赖的服务,demo-web服务启动前必须先启动的服务。

    【第5步】 创建自定义网络

    如果网络已经创建,忽略这一步。

    docker network create --subnet 172.19.0.0/16 --gateway 172.19.0.1 mynet

    【第5步】用docker-compose 创建并运行容器

    将.net6Demo项目发布到本地文件夹,然后将发布后的文件上传到centos服务的 /wwwroot/dotnet6-demo 目录。

    docker-compose 必须先安装,安装方法参考:https://www.cnblogs.com/yyee/p/15731800.html

    进入/wwwroot/dotnet6-demo 目录,运行:

    docker-compose up -d --build
    docker-compose常用命令
    获得一个命令的帮助
    docker-compose 命令 --help
    
    构建并启动所有容器,如果镜像存在就重新构建
    docker-compose up -d --build
    
    启动所有服务
    docker-compose up -d
    
    构建启动nignx容器               
    docker-compose up -d nginx       
    
    -f 指定使用的Compose配置文件启动,默认为docker-compose.yml,可以多次指定。
    docker-compose -f docker-compose.yml up -d
    
    运行一个服务,并在服务上执行一个命令
    docker-compose run 容器id或容器名 ip addr
    
    登录到nginx容器中             
    docker-compose exec nginx bash
    
    此命令将会停止 up 命令所启动的容器,并移除网络
    docker-compose down
    
    列出项目中运行的所有容器
    docker-compose ps
    
    列出项目中运行及未运行的所有容器
    docker-compose ps -a
    
    列出所有运行的服务容器
    docker-compose ls
    
    列出所有服务容器(包括未运行的容器)
    docker-compose ls -a
    
    重新启动nginx容器
    docker-compose restart nginx          
    
    构建镜像          
    docker-compose build nginx            
    
    不带缓存的构建       
    docker-compose build --no-cache nginx     
    
    查看各个服务容器内运行的进程      
    docker-compose top              
    
    查看nginx的实时日志               
    docker-compose logs -f nginx        
    
    列出 Compose 文件包含的镜像           
    docker-compose images 
    
    验证文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。                         
    docker-compose config                
    
    以json的形式输出nginx的docker日志           
    docker-compose events --json nginx        
    
    暂停nignx容器     
    docker-compose pause nginx         
    
    恢复ningx容器            
    docker-compose unpause nginx      
    
    删除容器(删除前必须关闭容器,执行stop)             
    docker-compose rm nginx                       
    
    强制删除容器(不必先关闭容器)             
    docker-compose rm -f nginx    
    
    停止nignx容器         
    docker-compose stop nginx       
        
    启动nignx容器           
    docker-compose start nginx     
    
    重启项目中的nignx容器                
    docker-compose restart nginx               
    
    下载依赖的镜像
    docker-compose pull   
    
    推送服务依的镜像
    docker-compose push
    
    设置指定服务运行的容器个数。通过service=num的参数来设置数量
    docker-compose scale web=3 db=2
    
    查看版本信息
    docker-compose version
  • 相关阅读:
    D1
    测试 Collectors 类中相关 API,以及 Collector 接口中 Characteristics 的枚举值
    Servlet 整合 freemarker、如何在 freemarker 中自定义标签
    webLogic javaweb 路径问题 Not allowed to load local resource
    高复用、高兼容的 ajaxForm 上传文件
    Extjs 4+ 中的 combobox 的级联
    Echarts中关于雷达图极坐标值相差过大时的图像展示问题
    java 使用poi操作Excel(2003,2007)实现数据批量导入的一般思路
    java 使用poi操作Excel表格(2003,2007)实现数据的批量导出
    Ext3.4 表格基本操作
  • 原文地址:https://www.cnblogs.com/yyee/p/15733815.html
Copyright © 2020-2023  润新知