![]() | 1 GuryYu 2019-02-04 19:16:29 +08:00 via iPad nginx 镜像可以挂载 /etc/nginx/conf.d 目录,直接放 server 级别的配置就行了 |
![]() | 2 wd 2019-02-04 19:18:38 +08:00 via iPhone 你换个思路 把宿主的 mount 给容器 等于你先把容器的 cp 出来 然后再 moubt 就可以编辑了 |
![]() | 3 defunct9 2019-02-04 19:30:09 +08:00 via iPhone 开 ssh,让我上去看看 |
![]() | 4 zuolan 2019-02-04 19:36:33 +08:00 起一个 tmp 容器, 然后把容器的文件 docker cp 到本地, 这样你就有一份配置文件了. |
![]() | 5 VECH OP |
6 eritpchy 2019-02-04 19:45:24 +08:00 via Android 反向思路 docker cp 是正解 出入都可以用他操作, 自己写个脚本即可 |
7 eritpchy 2019-02-04 19:47:52 +08:00 via Android 你觉得不行的原因是 /etc/nginx 挂载点被宿主给覆盖了, 假如你先挂载再安装 nginx 呢? 又假如你自己 diy 一个 nginx 镜像呢? |
8 zhouzm 2019-02-04 23:56:14 +08:00 我是这样配置的: -v ./nginx.conf:/etc/nginx/nginx.conf -v ./conf.d:/etc/nginx/conf.d |
![]() | 9 yuikns 2019-02-05 00:00:40 +08:00 via iPhone 只有我没搞明白楼主意图么? cp 出来然后在 override 自己,这是什么需求啊…… 如果只是想要拿出数据。docker cp 难度是什么? 如果是想要覆盖某个文件,那么 -v 也可以细化到具体文件。如果需要只增一个目录,那么可以写个 Dockerfile,然后 FROM nginx COPY nginx /etc/nginx |
![]() | 10 xuanbg 2019-02-05 00:23:17 +08:00 楼主搞反了哈,不是把容器的文件夹映射到外面,而是把宿主机的文件夹映射给容器。你这个空的文件夹给容器作为配置文件,容器怎么能正常启动? |
![]() | 11 soyoker 2019-02-05 01:13:21 +08:00 学习的时候记得 docker 内部的文件会随着容器关闭而不保存的吧? 把宿主机的磁盘挂载就是方便即时修改容器实例的配置 为什么要把 docker 内部的文件映射到外面呢? |
12 keji 2019-02-05 01:34:38 +08:00 via Android 同 8 楼,是把宿主机的文件中挂载到容器中,出现错误可以使用 docker logs 容器 id,通过日志查看相应报错信息 |
![]() | 13 yuikns 2019-02-05 02:49:39 +08:00 via iPhone ![]() |
14 zhouzm 2019-02-05 09:18:04 +08:00 via Android ![]() 上面几位没仔细看贴,楼主知道 mount 怎么用,他的目的是想 docker 自定义配置目录时方便的得到 nginx 的 默认配置。 我看了一下 nginx 官方 docker 的帮助,推荐的做法就是使用 docker cp: $ docker run --name tmp-nginx-container -d nginx $ docker cp tmp-nginx-container:/etc/nginx/nginx.conf /host/path/nginx.conf $ docker rm -f tmp-nginx-container 或者写个 Dockerfile,自己 build 一个镜像。 |