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/;
}
}