docker 拉取Nginx镜像

docker pull nginx:latest
拉取完成查看:docker images

准备工作

先在主机创建工作文件夹,为了挂载配置和静态文件的访问使用

#启动一个容器
 docker run -d --name nginx nginx
# 查看 容器 获取容器ID 或直接使用名字
 docker container ls
# 在当前目录下创建目录:conf 
 mkdir conf
# 拷贝容器内 Nginx  默认配置文件到本地当前目录下的 conf 目录($PWD 当前全路径)
# 注意当前 nginx 是 nignx所在的容器名字
 docker cp nginx:/etc/nginx/nginx.conf $PWD/conf
docker cp nginx:/etc/nginx/conf.d $PWD/conf
 
# 停止容器
 docker container stop nginx
# 删除容器
 docker container rm nginx
 
# 在当前目录下创建目录:html 放静态文件

重新部署容器

docker run -d -p 80:80 \
--name nginx-prod \
-v /root/nginx/html:/usr/share/nginx/html \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/logs:/var/log/nginx  nginx

-d # 表示在一直在后台运行容器
-p 80:80 # 对端口进行映射,将本地8081端口映射到容器内部的80端口
--name # 设置创建的容器名称
-v # 将本地目录(文件)挂载到容器指定目录;
--link answer-server:answerserver 这计划是指需要转向本机docker容器的别名

nginx配置文件修改

server {
    listen 443 ssl;
    server_name yuming.cpm; #你的申请过证书的域名
    ssl_certificate     /etc/nginx/conf.d/certs/xxxx.pem;
    ssl_certificate_key /etc/nginx/conf.d/certs/xxxx.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;
    location / {
        root  /usr/share/nginx/html/admin;
        index  index.html index.htm;
    }
    location /admin {
        alias   /usr/share/nginx/html/admin;
        index  index.html index.htm;
    }
	
    location /s {
	proxy_pass http://mallservertest:8080/;
    }
}