zoukankan      html  css  js  c++  java
  • .net core程序发布到Docker

    近日,领导要求把目前的.net core程序发布到Docker上,于是基于之前的学习然后摸着石头过河,特别把重要的核心内容记录一下。

    1.端口

    网关:13021
    API:13022
    WEB:13023

    2.Dockerfile

    2.1前端web

    FROM 192.168.103.136/library/gd/angular:5.2 AS base
    WORKDIR /app
    EXPOSE 80
    
    COPY . /app
    COPY ./nginx.conf /etc/nginx
    
    RUN rm -rf /app/nginx.conf
    

    2.2GDNP

    FROM 192.168.103.136/library/gd/dotnet/aspnet:2.2 AS base
    # FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
    WORKDIR /app
    EXPOSE 80
    
    COPY . /app
    
    ENTRYPOINT ["dotnet", "GD.NP.ServicesHost.dll"]
    

    2.3API

    FROM 192.168.103.136/library/gd/dotnet/aspnet:2.2 AS base
    # FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
    WORKDIR /app
    EXPOSE 80
    
    COPY . /app
    
    ENTRYPOINT ["dotnet", "BDCQYTB.Server.ServicesHost.dll"]
    

    3.发布

    2.1前端web

    1. 构建镜像

      # 需要进入到目录:/usr/src/gdsoft/10002_bdcqytb/QYTB_WEB
      docker build -t qytb_web .
      
    2. 创建容器

      docker run -d -p 03023:80 --name qytb_web qytb_web
      
    3. 浏览器输入地址测试:http://192.168.103.140:03023/

    4. 删除所有

      docker rm -f qytb_web
      docker rmi qytb_web
      

    2.2GDNP

    1. 构建镜像

      # 需要进入到目录:/usr/src/gdsoft/10002_bdcqytb/QYTB_GDNP
      docker build -t qytb_gdnp .
      
    2. 创建容器

      docker run -d -p 03021:80 --name qytb_gdnp qytb_gdnp -v /etc/localtime:/etc/localtime -e TZ=Asia/Shanghai
      
    3. 浏览器输入地址测试:http://192.168.103.140:03021/

    4. 删除所有

      docker rm -f qytb_gdnp
      docker rmi qytb_gdnp
      

    2.3API

    1. 构建镜像

      # 需要进入到目录:/usr/src/gdsoft/10002_bdcqytb/QYTB_API
      docker build -t qytb_api .
      
    2. 创建容器

      docker run -d -p 03022:80 --name qytb_api qytb_api -v /etc/localtime:/etc/localtime -e TZ=Asia/Shanghai
      
      docker run -d -p 03022:80 --rm --privileged --name qytb_api qytb_api
      
    3. 浏览器输入地址测试:http://192.168.103.140:03022/

    4. 删除所有

      docker rm -f qytb_api
      docker rmi qytb_api
      

    YAML文件

    version: '3'
    
    services:
      # 应用网关配置
      qytb_gdnp:
        build: ./QYTB_GDNP
        container_name: qytb_gdnp
        restart: always
        ports:
          - 13021:80
        network_mode: bridge
              
          
      # 业务API配置
      qytb_api:
        build: ./QYTB_API
        container_name: qytb_api
        restart: always
        ports:
          - 13022:80
        network_mode: bridge
          
    
      # 业务网站配置
      qytb_web:
        build: ./QYTB_WEB
        container_name: qytb_web
        restart: always
        ports:
          - 13023:80
        network_mode: bridge 
    
    

    4.备注

    4.1常用命令和参数

    • Linux地址:192.168.103.140
    • 基础研发部搭建的dockerhub:https://192.168.103.136/
    • 文件存放路径:/usr/src/gdsoft/10002_bdcqytb
    • nginx路径:/etc/nginx/nginx.conf
    • 删除容器:docker rm -f qytb_web
    • 删除镜像:docker rmi qytb_web
    • 进入容器:docker exec -it qytb_web /bin/bash

    4.2防火墙开启端口

    # 宿主机开启端口
    firewall-cmd --permanent --zone=public --add-port=13021/tcp 
    firewall-cmd --permanent --zone=public --add-port=13022/tcp 
    firewall-cmd --permanent --zone=public --add-port=13023/tcp 
    firewall-cmd --reload
    

    4.3产品编号

    全豫通办办理:03020 qytb

    司法查控总对总:03021 sfckzdz
    税务总对总:03022 swzdz
    动态质量监管系统:03023 bdcdjsjdtjgxt

    4.4DockerCompose

    • docker-compose up 创建镜像、创建容器、启动容器
    • docker-compose up -d 创建镜像、创建容器、启动容器(后台)
    • docker-compose ps 列出项目中目前所有的容器
    • docker-compose start 启动已经存在的服务容器
    • docker-compose stop 停止正在运行的容器,可以通过docker-compose start 再次启动
    • docker-compose down 停止和删除容器、网络、卷、镜像
  • 相关阅读:
    Keras实例教程(2)
    Keras实例教程(1)
    tf.nn.l2_loss()的用法
    在tensorflow中使用batch normalization
    Tensorflow的LRN是怎么做的
    CNN卷积中多通道卷积的参数问题
    caffe学习网站
    交叉熵反向求导计算过程
    矩阵求导
    循环神经网络(RNN)模型与前向反向传播算法
  • 原文地址:https://www.cnblogs.com/duanjt/p/15578046.html
Copyright © 2011-2022 走看看