第一次尝试使用docker-compose,但没有太多运气。我有以下设置: docker-compose版本1.8.0,build f3628c7
当我在每个子目录中使用Dockerfile创建docker镜像时,它都可以正常工作。我希望用docker-compose.yml一次完成所有单独的图像构建。
docker-compose.yml看起来像这样:
version: '2'
services:
GabeThermDB:
build:
context: ./GabeThermDB
dockerfile: Dockerfile
GabeThermApache:
build:
context: ./GabeThermApache
dockerfile: Dockerfile
ports:
- "80:80"
GabeThermPHPMyAdmin:
build:
context: ./GabeThermPHPMyAdmin
dockerfile: Dockerfile
ports:
- "8080:80"
当试图运行" docker-compose up"时,我收到以下错误:
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.GabeThermPHPMyAdmin.build contains unsupported option: 'ports'
services.GabeThermApache.build contains unsupported option: 'ports'
我不知道这有什么问题。我想我完全像其他例子所表明的那样。顺便说一句,我确实知道"背景:"和#34; dockerfile:"过度了,但是因为我是新手,我想确定我指的是哪些文件,以防忘记它会自动潜入子目录并运行Dockerfile。
感谢任何帮助。
答案 0 :(得分:15)
您必须将端口移出构建块。
version: '2'
services:
GabeThermDB:
build:
context: ./GabeThermDB
dockerfile: Dockerfile
GabeThermApache:
build:
context: ./GabeThermApache
dockerfile: Dockerfile
ports:
- "80:80"
GabeThermPHPMyAdmin:
build:
context: ./GabeThermPHPMyAdmin
dockerfile: Dockerfile
ports:
- "8080:80"