docker启动单机nginx

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
mkdir -p /opt/docker-nginx

cd /opt/docker-nginx

mkdir html

vim index.html
<h1>Hello World</h1>

# 启动测试
docker container run \
  -d \
  -p 127.0.0.2:8080:80 \
  --rm \
  --name mynginx \
  --volume "$PWD/html":/usr/share/nginx/html \
  nginx
  
# 复制配置
docker container cp mynginx:/etc/nginx .

mv nginx conf

docker container stop mynginx

# 重启
docker container run \
  --rm \
  --name mynginx \
  --volume "$PWD/html":/usr/share/nginx/html \
  --volume "$PWD/conf":/etc/nginx \
  -p 127.0.0.2:8080:80 \
  -d \
  nginx
  
docker container stop mynginx

# 自签名证书(输入国家 城市  域名 和 emai 等)(Common Name (e.g. server FQDN or YOUR name) []:127.0.0.1)

sudo openssl req \
  -x509 \
  -nodes \
  -days 365 \
  -newkey rsa:2048 \
  -keyout example.key \
  -out example.crt
 
# 拷贝证书
mkdir conf/certs
mv example.crt example.key conf/certs

设置证书

1
vim conf/conf.d/default.conf

在最下方添加

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20

server {
    listen 443 ssl http2;
    server_name  localhost;

    ssl                      on;
    ssl_certificate          /etc/nginx/certs/example.crt;
    ssl_certificate_key      /etc/nginx/certs/example.key;

    ssl_session_timeout  5m;

    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers   on;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

重启容器 更改自己的IP和端口

1
2
3
4
5
6
7
8
9
docker container run \
  --rm \
  --name mynginx \
  --volume "$PWD/html":/usr/share/nginx/html \
  --volume "$PWD/conf":/etc/nginx \
  -p 127.0.0.2:80:80 \
  -p 127.0.0.2:443:443 \
  -d \
  nginx