在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