美文网首页工作生活
在Docker中安装nginx

在Docker中安装nginx

作者: JADDC | 来源:发表于2019-07-01 17:43 被阅读0次
    一、拉取镜像

    docker pull nginx

    二、创建docker-compose.yml文件
    version: '3'
    services:
      nginx: 
        network_mode: "bridge"
        image: nginx:latest
        container_name: nginx
        volumes:
          - ./data/opt/conf/:/mnt
          - ./data/web/:/usr/share/nginx/html
          - ./data/nginx/nginx.conf:/etc/nginx/nginx.conf
          #(下面一行命令)容器运行后再从容器复制出来,然后退出容器,再运行即可
          #- ./data/nginx/:/etc/nginx/conf.d/
          - ./data/sites-available:/etc/nginx/sites-available
          - ./data/sites-enabled:/etc/nginx/sites-enabled
          - ./data/cache:/var/cache/nginx
          - ./data/log:/var/log/nginx/
          - ./data/ssl:/etc/nginx/ssl
        ports:
          - 8000:80
          - 1433:443
        restart: always
    

    生成环境可这样使用

    version: '3'
    services:
      nginx: 
        image: nginx:latest
        container_name: nginx
        volumes:
          - ./data/opt/conf/:/mnt
          - ./data/web/:/usr/share/nginx/html
          - ./data/nginx/nginx.conf:/etc/nginx/nginx.conf
          #(下面一行命令)容器运行后再从容器复制出来,然后退出容器,再运行即可
          #- ./data/nginx/:/etc/nginx/conf.d/
          - ./data/sites-available:/etc/nginx/sites-available
          - ./data/sites-enabled:/etc/nginx/sites-enabled
          - ./data/cache:/var/cache/nginx
          - ./data/log:/var/log/nginx/
          - ./data/ssl:/etc/nginx/ssl
        ports:
          - 8000:80
          - 1433:443
        restart: always
        networks:
          - default
    networks:
      default:
        ipam:
          config:
            - subnet: GatewayIP/24
    
    三、将所需配置文件从容器copy出来

    1、复制文件nginx.conf到./data/nginx/目录下docker cp 41fe7040fa42:/etc/nginx/nginx.conf ./data/nginx/。tips,缺少此文件无法启动容器。

    2、复制conf.d文件夹及其内容到./data/nginx/下(含default.conf文件),docker cp 41fe7040fa42:/etc/nginx/conf.d ./data/nginx/

    nginx.conf文件内容如下:

        user  nginx;
        worker_processes  1;
    
        error_log  /var/log/nginx/error.log warn;
        pid        /var/run/nginx.pid;
    
    
        events {
            worker_connections  1024;
        }
    
    
        http {
            include       /etc/nginx/mime.types;
            default_type  application/octet-stream;
    
            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;
    
            keepalive_timeout  65;
    
            #gzip  on;
    
            include /etc/nginx/conf.d/*.conf;
        }
    
    四、运行容器

    docker-compose up -d

    五、进入这个容器

    参数说明

        -d :分离模式: 在后台运行
        -i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;
        -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    

    命令:docker exec -it 9fbe362214a6 /bin/bash

    相关文章

      网友评论

        本文标题:在Docker中安装nginx

        本文链接:https://www.haomeiwen.com/subject/ghlncctx.html