docker-compose绑定绑定卷文件传播到主机

我在this tutorial上读到过,当您创建docker-compose.yml文件并绑定装入卷时,如果未在主机上创建文件夹,则在运行docker-compose up时文件夹将自动创建,并使用容器文件夹的内容填充。

这里是引号:

然后,您应该将两个文件夹批量绑定。 / etc / nginx是存储所有配置文件的位置,/ etc / ssl / private是存储SSL证书的位置。首次启动容器时,主机上不存在配置文件夹,这一点非常重要。通过docker-compose启动容器时,它将自动创建文件夹并使用容器的内容填充该文件夹。如果您在主机上创建了一个空的config文件夹,它将安装该文件夹,并且容器内的文件夹将为空。

但这似乎不适用于我。 这是我检查过的几件事。

  • 我的泊坞窗未以root用户身份运行。我在机器上创建了docker组并在其中添加了用户,因此不需要运行sudo docker <command>
  • 我运行的是18 LTS的ubuntu服务器
  • 我是否尝试将卷绑定为只读都没有关系
  • 运行docker-compose up时会创建文件夹,但这些文件夹归root用户所有
  • root用户拥有的创建的文件夹为空

这是我的docker-compose.yml

version: '3'
services:
  nginx:
    image: nginx
    container_name: reverse_nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "./html:/usr/share/nginx/html"
      - "./conf:/etc/nginx"
      - "./ssl:/etc/ssl/private"
    restart: unless-stopped

这是创建的内容:

icare@icare:~/nginx
$ ls -lR
.:
total 16
drwxr-xr-x 2 root  root  4096 Mar 20 15:46 conf
-rw-r--r-- 1 icare icare  269 Mar 20 15:27 docker-compose.yml
drwxr-xr-x 2 root  root  4096 Mar 20 15:46 html
drwxr-xr-x 2 root  root  4096 Mar 20 15:46 ssl

./conf:
total 0

./html:
total 0

./ssl:
total 0

我无法在线找到解决方案,似乎一个人asked on github并已通过困难的方式解决了(从容器中复制文件,然后将所有内容绑定安装),但我不禁要思考那是另一种方式。还是我正在关注的教程过时或错误?

mhc994 回答:docker-compose绑定绑定卷文件传播到主机

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2609242.html

大家都在问