docker nginx安装&挂载外部配置和数据 一气呵成

  1. nginx不能直接挂载数据,先跑一个demo然后复制里面的内容
docker run -d --name ng nginx

注意:只要不报错就不要停止运行,有可能你之前没有下载nginx的镜像,docker会自动帮你下载。

docker nginx安装&挂载外部配置和数据 一气呵成_第1张图片

  1. 然后使用docker cp复制内容 ,我之前基础命令篇(点击跳转)都有写

(1) 先复制nginx的配置

# 创建挂载目录
 mkdir -p /home/data/nginx
# 复制容器内容
docker cp ng:/etc/nginx/  /home/data/nginx/conf
---------------------------------------------------------------------------------
ng:/etc/nginx 							-> 容器路径
/home/data/nginx/conf/         -> 目标路径

docker nginx安装&挂载外部配置和数据 一气呵成_第2张图片

(2) 复制html中的内容

# 复制容器内容
docker cp ng:/usr/share/nginx/html /home/data/nginx

(3) 复制log的内容

docker cp ng:/var/log/nginx  /home/data/nginx/log  

docker nginx安装&挂载外部配置和数据 一气呵成_第3张图片

  1. 启动并挂载nginx

刚才的demo如果不想要可以使用命令删除它 docker rm -f ng

# 启动并挂载外部配置和数据
docker run -d \
--name nginx  \
--privileged=true \
--restart always \
-v /home/data/nginx/html:/usr/share/nginx/html \
-v /home/data/nginx/log:/var/log/nginx \
-v /home/data/nginx/conf:/etc/nginx  \
-p 80:80 \
nginx

一键安装:

docker run -d --name ng -p 81:80 nginx && \
mkdir -p /home/data/nginx &&  \
docker cp ng:/etc/nginx/  /home/data/nginx/conf && \
docker cp ng:/usr/share/nginx/html  /home/data/nginx && \
docker cp ng:/var/log/nginx  /home/data/nginx/log  && \
docker rm -f ng && \
docker run -d \
--name nginx  \
--privileged=true \
--restart always \
-v /home/data/nginx/html:/usr/share/nginx/html \
-v /home/data/nginx/log:/var/log/nginx \
-v /home/data/nginx/conf:/etc/nginx  \
-p 80:80 \
nginx

涉及到的命令行参数:

-d                                                  				-> 以守护进程的方式启动容器
-p 81:80                                        					-> 绑定宿主机端口
--name nginx                                     					-> 指定容器名称
--restart always                                    				-> 开机启动
--privileged=true                                   				-> 提升容器内权限
-v ~/docker-data-test/nginx/conf:/etc/nginx						    -> 映射配置文件
-v ~/docker-data-test/nginx/html:/usr/share/nginx/html              -> 映射html目录
-v ~/docker-data-test/nginx/log:/var/log/nginx		                -> 映射日志目录

你可能感兴趣的:(linux个人笔记,docker学习笔记,docker,linux,nginx,centos,java)