我有2个使用docker-compose up触发的容器。 我刚从docker hub nginx:stable中拉出的第一个 第二个是我在中心的php之上构建的
dockerfile
FROM composer:1.9.3
RUN mkdir /fatfree
RUN ["composer","require","bcosca/fatfree-core","--working-dir","/fatfree"]
FROM php:7.4-fpm
COPY --from=0 /fatfree /fatfree
我也尝试了上述文件中的VOLUME /fatfree
无济于事。
docker-compose.yml
version: "3.7"
services:
webserver:
image: nginx:stable
ports:
- "80:8080"
volumes:
- ./www:/www
- fatfree:/fatfree
links:
- php
php:
build:
context: .
dockerfile: dockerfile
volumes:
- ./www:/www
- "fatfree:/fatfree"
volumes:
fatfree:
如果我正确解释了docker文档,那么我的www/index.php
应该可以看到/ fatfree中的内容,但是看不到。该文件夹本身会显示,但它显示为空。
如果我以交互方式docker container run -i -t test bash
运行dockerfile,则/fatfree
文件夹存在,并且包含了我期望的所有文件。
有很多stackoverflow问题问如何实现这一目标,它们似乎都暗示我在做什么实际上是可以的,但那是行不通的,我也不知道为什么。 任何建议表示赞赏。
答案 0 :(得分:0)
您的映射不正确。
您要
volumes:
- /fatfree:/www
第一个条目/fatfree
指向主机上的路径。
第二个条目/www
指向容器中的路径。
在我的示例中,主机的/fatfree
目录(和内容)将映射到容器的/www
目录。
根据需要进行更改。