工作生活

在Docker中安装nginx

2019-07-01  本文已影响0人  JADDC
一、拉取镜像

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

上一篇下一篇

猜你喜欢

热点阅读