以下以Nginx1.22为例。其余版本自行尝试
1. Docker安装Nginx
docker pull nginx:1.22
2. 挂载Nginx容器数据卷
# 临时启动容器
docker run -p 80:80 --name nginx -d nginx:1.22
# 创建挂载目录
mkdir -p /docker/nginx
# 拷贝容器内文件
docker cp nginx:/etc/nginx/nginx.conf /docker/nginx/
docker cp nginx:/etc/nginx/conf.d/ /docker/nginx/
docker cp nginx:/usr/share/nginx/html/ /docker/nginx/
docker cp nginx:/var/log/nginx/ /docker/nginx/logs/
# 强制移除容器
docker rm -f nginx
3. 启动Nginx实例
docker run -e JAVA_OPTS="-Xms256m -Xmx256m" \
-e TZ=Asia/Shanghai \
-p 80:80 \
--privileged=true \
-v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /docker/nginx/logs:/var/log/nginx \
-v /docker/nginx/html:/usr/share/nginx/html \
-v /docker/nginx/conf:/etc/nginx/conf.d \
--restart=always \
--name nginx \
-d nginx:1.22
4. 登录Nginx实例
docker exec -it nginx /bin/bash # 进入Nginx实例