问题描述
在使用Docker时,不免需要将各个容器的配置文件/目录挂载到宿主机上,下面我以挂载Nginx的配置文件来做演示,其他容器挂载配置文件也大同小异。
演示
前提先去搜索需要挂载的目录/文件有哪些,以Nginx为例:
- 静态页目录:
/usr/share/nginx/html
- 配置文件目录:
/etc/nginx
操作步骤
- 然后随便启动起来一个Nginx容器:
docker run -d -p 80:80 --name docker_nginx nginx
- 直接从容器拷贝目录到宿主机(‘.’代表了当前目录):
docker cp docker_nginx:/etc/nginx .
docker cp docker_nginx:/usr/share/nginx/html .
将拷贝来的两个目录分别重命名,这里命名为了:conf 与 html
- 关闭容器,删除。
docker stop docker_nginx
docker rm docker_nginx
- 重新启动一个Nginx容器并挂载刚才复制的目录。
docker run -d --privileged --restart=always -p 80:80 -v ${PWD}/conf:/etc/nginx -v ${PWD}/usr/share/nginx/html --name docker_nginx nginx
具体还可以挂载时区文件,同步时区。
注:不必严格按照此步骤,大部分容器配置文件挂载类似,如果不自己创建目录与配置文件可以采用拷贝的方式挂载。
Q.E.D.