• .net core 3.1 Docker部署 Nginx


    windows 10 安装 Docker Desktop

    https://www.docker.com/products/docker-desktop

    没有帐号可以新建一下,免费提供一个私有仓库

    新建VS 项目

    Dockerfile 配置

    FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
    WORKDIR /app
    EXPOSE 80
    
    
    
    COPY . /app
    ENTRYPOINT ["dotnet", "WebDocker.dll"]

    配置好后发布程序

    发布成功后,系统会自动推送到仓库中,包括Build命令,VS会替你解决

    查看你的镜像

    查看本地镜像

    Docker images

    CentOS 安装 Docker

    1. 使用 root 权限登录 Centos。确保 yum 包更新到最新。
      sudo yum update
    2. 卸载旧版本(如果安装过旧版本的话)
      sudo yum remove docker  docker-common docker-selinux docker-engine
    3. 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
      sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    4. 设置yum源
      sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    5. 可以查看所有仓库中所有docker版本,并选择特定版本安装
      yum list docker-ce --showduplicates | sort -r
    6. 安装docker
      sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
    7. 启动并加入开机启动
      sudo systemctl start docker
      sudo systemctl enable docker
    8. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
      docker version

    Docker 安装好 输入docker login

    用你刚才注册的用户和密码登录

    dokcer images

     拉取镜像

    docker pull xxx:tag

    成功之后运行镜像

    docker run -d --restart=always --name myapp -p 5000:80 bch1983410/mydocker :v1

    查看运行镜像

    docker ps

    这时可以访问地址

     拉取nginx

    docker pull nginx:latest

    创建挂载目录

    mkdir -p /data/nginx/{conf,conf.d,html,logs}

    编写nginx,conf配置文件,并放在文件夹中

    # For more information on configuration, see:
    #   * Official English Documentation: http://nginx.org/en/docs/
    #   * Official Russian Documentation: http://nginx.org/ru/docs/
    
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    events {
        worker_connections 1024;
    }
    
    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
        server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  localhost;
            root         /usr/share/nginx/html;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
            proxy_pass http://pic; 
            }
    
            error_page 404 /404.html;
                location = /40x.html {
            }
    
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }
    
        upstream pic{
                    server localhost:8082 weight=5;
        }
    
    }

    启动容器

    docker run --name mynginx -d -p 8081:80  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx

    访问地址8081

    访问地址8082

  • 相关阅读:
    Java Thread wait, notify and notifyAll Example
    Life Cycle of Thread – Understanding Thread States in Java
    Handle源码分析,深入群内了解风骚的Handle机制
    Android组件间交互
    虚拟化M搭建及基本操作
    双心跳线
    Linux集群存储配置
    在linux系统上怎么获取命令的帮助信息及man文档划分
    Linux发行版的基础目录名称、命名法则及功能规定
    hwclock详解
  • 原文地址:https://www.cnblogs.com/alex-bian/p/12972401.html
Copyright © 2020-2023  润新知