使用 docker 部署 nginx

1,156 阅读1分钟

使用 docker 部署 nginx

1. 下载镜像

这里使用的是 nginx:alpine-slim 镜像,alpine镜像体积会更小,但是功能也比 nginx:latest 少一点。(nginx:latest 是基于 debian镜像,alpine 是更加轻量的镜像)。

docker pull nginx:alpine-slim

2. 创建挂载目录

# 配置文件
mkdir -p /usr/local/nginx/conf
# 静态页面
mkdir -p /usr/local/nginx/html
# 日志
mkdir -p /usr/local/nginx/logs
# 配置 https,如果不需要可以忽略
mkdir -p /usr/local/nginx/ssl

3. 拷贝容器中的文件到宿主机

# 先启动一个容器,我们只需要它的文件
docker run --name nginx -p 10000:80 -d nginx:alpine-slim
# 将容器 nginx.conf 文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
# 将容器 conf.d 文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf
# 将容器中的 html 文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /usr/local/nginx
# 将容器中的 ssl 文件夹复制到宿主机
docker cp nginx:/etc/ssl /usr/local/nginx
# 停止并删除该容器
docker stop nginx && docker rm nginx

4. 启动真正的容器

docker run \
-p 80:80 \
-p 443:443 \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /usr/local/nginx/log:/var/log/nginx \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-v /usr/local/nginx/ssl:/etc/ssl  --name nginx -d nginx:alpine-slim

参考文章

  1. huaweicloud.csdn.net/6331240fd3e…