1.下载镜像
docker search nginx
docker pull nginx
2.创建挂载目录
#目录下创建nginx文件夹
mkdir nginx
#nginx目录下
#创建挂载目录volumes
mkdir volumes
mkdir conf logs
3.制作 docker-compose.yml
touch docker-compose.yml
vim docker-compose.yml
docker-compose.yml文件:
version: '3'
services:
server:
image: nginx
restart: always #随docker自动启动
container_name: nginx
# network_mode: host
environment:
- "TZ=Asia/Shanghai"
volumes:
- ./volumes/html:/usr/share/nginx/html
- ./volumes/conf/nginx.conf:/etc/nginx/nginx.conf
- ./volumes/conf.d/default.conf:/etc/nginx/conf.d/default.con
- /var/www/sass-ui:/var/www/sass-ui #前端包
- /var/www/sass-ui-out:/var/www/sass-ui-out
- ./volumes/logs:/var/log/nginx
- ./volumes/ssl:/opt/nginx/ssl
ports:
- "80:80"
- "443:443"
https设置config, 需要提供ssl证书
ssl_certificate /opt/nginx/ssl/STAR_est_com_integrated.crt;
ssl_certificate_key /opt/nginx/ssl/STAR_est_com.key;
4.nginx代理配置
vim volumes/conf/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
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;
server {
listen 80;
server_name 172.20.2.1;
location / {
root /var/www/sass-ui;
index index.html index.html;
}
}
server {
listen 443 ssl;
server_name est.com;
ssl_certificate /home/docker-compose/nginx/volumes/ssl/STAR_est_com_integrated.crt;
ssl_certificate_key /home/docker-compose/nginx/volumes/ssl/STAR_est_com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /var/www/sass-ui-out;
index index.html;
}
}
}
#启动容器 docker-compose.yml同级目录下
docker-compose up -d