问题描述

在使用Docker时,不免需要将各个容器的配置文件/目录挂载到宿主机上,下面我以挂载Nginx的配置文件来做演示,其他容器挂载配置文件也大同小异。

演示

前提先去搜索需要挂载的目录/文件有哪些,以Nginx为例:

  • 静态页目录:/usr/share/nginx/html
  • 配置文件目录: /etc/nginx

操作步骤

  1. 然后随便启动起来一个Nginx容器:
docker run -d -p 80:80 --name docker_nginx nginx
  1. 直接从容器拷贝目录到宿主机(‘.’代表了当前目录):
docker  cp docker_nginx:/etc/nginx .
docker  cp docker_nginx:/usr/share/nginx/html .

将拷贝来的两个目录分别重命名,这里命名为了:confhtml

  1. 关闭容器,删除。
docker stop docker_nginx
docker rm docker_nginx
  1. 重新启动一个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 

具体还可以挂载时区文件,同步时区。

注:不必严格按照此步骤,大部分容器配置文件挂载类似,如果不自己创建目录与配置文件可以采用拷贝的方式挂载。

参考:http://www.ruanyifeng.com/blog/2018/02/nginx-docker.html

Q.E.D.


仰望星空,还需脚踏实地。