我正在尝试使用docker-compose运行带有已安装本地卷的docker容器。如果没有让它工作,我已经通过docker-compose缩减到最基本的版本:
version: '2'
services:
php:
image: php:5.6-apache
ports:
- "8080:80"
volumes:
- .:/var/www/html
执行此操作后,装载将显示在docker inspect中:
"Mounts": [
{
"Type": "bind",
"Source": "/home/clark/Projects/apis/contracts",
"Destination": "/var/www/html",
"Mode": "rw",
"RW": true,
"Propagation": ""
}
],
但是容器上的/ var / www / html目录是空的。
我已经尝试过我能想到的每一种组合。绝对路径,相对路径,$ {pwd},命名卷,挂载到存在的目录,挂载到不存在的目录......这让我发疯了。
请有人告诉我我做错了什么???
答案 0 :(得分:4)
在这里工作,唯一的区别是版本3 docker-compose文件。
mkdir /tmp/compose-test && cd /tmp/compose-test
touch iam_a_file
Docker撰写文件:
---
version: '3'
services:
test:
image: busybox
command: ls -la /var/www/html
volumes:
- .:/var/www/html
确保配置正常:
docker-compose config
所有的东西
docker-compose up
Creating composetest_test_1
Attaching to composetest_test_1
test_1 | total 8
test_1 | drwxr-xr-x 2 1000 users 80 Apr 26 16:47 .
test_1 | drwxr-xr-x 1 www-data www-data 4096 Apr 26 16:49 ..
test_1 | -rw-r--r-- 1 1000 users 126 Apr 26 16:48 docker-compose.yml
test_1 | -rw-r--r-- 1 1000 users 0 Apr 26 16:46 iam_a_file
检查显示当您提供相对路径时,泊坞窗将其更改为完整路径。
编辑:我也试过用php:5.6-apache,它可以工作。