我可能会错过一些非常明显的东西。Symfony 应用程序位于 /atom/src 的容器中。
docker@localhost:~/atom-docker$ sudo docker-compose exec atom ls /atom/src/
CONTRIBUTING.md cache favicon.ico plugins
COPYRIGHT composer.json images qubit_dev.php
Dockerfile composer.lock index.php robots.txt
LICENSE config init symfony
README.md css js test
SECURITY.md data lib vendor
apps docker log
build.xml ead.dtd phpunit.xml
尝试将名为 uploads 的卷装入文件夹时:
docker-compose.yml
version: "3.7"
services:
...
atom:
build:
context: .
dockerfile: Dockerfile-atom
command: "fpm"
...
volumes:
- uploads:/atom/src/uploads
restart: on-failure
nginx:
build:
context: .
dockerfile: Dockerfile-nginx
ports:
- "80:80"
...
depends_on:
- "atom"
volumes:
- uploads:/atom/src/uploads
restart: on-failure
volumes:
...
uploads:
driver: "local"
...
上传文件夹没有安装在路径内,但 /atom/src 中的所有数据都被替换
docker@localhost:~/atom-docker$ sudo docker-compose exec atom ls /atom/src/
uploads
我的体积定义有什么问题?
这不是一个真正的答案,但我认为它可以给你一些有用的反馈,我不可能在评论中写下这个。
我尝试了一个最小的可重复测试,它应该与您的情况相同:
version: "3.7"
services:
atom:
image: busybox
command: tail -f /dev/random
volumes:
- uploads:/var/uploads
nginx:
image: busybox
command: tail -f /dev/random
volumes:
- uploads:/var/uploads
depends_on:
- "atom"
volumes:
uploads:
driver: "local"
他们在这里:
$ docker-compose up -d
Creating network "t_default" with the default driver
Creating t_atom_1 ... done
Creating t_nginx_1 ... done
这是您的测试,它按预期工作:
$ docker-compose exec atom ls /var/
spool uploads www
使用的版本:
$ docker --version
Docker version 20.10.5, build 55c4c88
$ docker-compose --version
docker-compose version 1.27.4, build unknown
也就是说:我不认为问题出在docker-compose.yml
. 也许在Dockerfile
s?还是您的docker
/docker-compose
版本中的错误?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句