我读了很多
this tutorial
当你创造一个
docker-compose.yml
如果在运行时未在主机上创建文件夹,请创建文件并绑定装载卷
docker-compose up
该文件夹将自动创建并填充容器文件夹的内容。
以下是报价:
然后你应该卷绑定两个文件夹/etc/nginx是存储所有配置文件的地方,/etc/ssl/private是存储ssl证书的地方。第一次启动容器时,主机上不存在配置文件夹,这一点非常重要。当您通过docker compose启动容器时,它将自动创建文件夹并用容器的内容填充它。如果您在主机上创建了一个空的配置文件夹,它将挂载该文件夹,容器中的文件夹将为空。
但这似乎对我不起作用。
-
我的docker不是以root用户身份运行的。我在我的机器上创建了docker组,并在其中添加了我的用户,因此我不需要运行
sudo docker <command>
-
我运行一台ubuntu服务器
-
无论我是否尝试以只读方式绑定和装载卷
-
跑步时
docker整理
它创建文件夹,但它们归root用户所有
-
根用户拥有的已创建文件夹为空
这是我的
docker撰写。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
这是一个很难解决的问题(从容器中复制文件,然后绑定挂载所有内容),但我忍不住认为还有另一种方法。或者我正在学习的教程已经过时或错误了?