build包含不受支持的选项:' ports'

时间:2016-10-09 13:23:44

标签: docker configuration docker-compose

第一次尝试使用docker-compose,但没有太多运气。我有以下设置: docker-compose版本1.8.0,build f3628c7

  • / home / GabeThermComposer包含docker-compose.yml
  • / home / GabeThermComposer / GabeThermApache包含Dockerfile
  • / home / GabeThermComposer / GabeThermPHPMyAdmin包含Dockerfile
  • / home / GabeThermComposer / GabeThermDB包含Dockerfile和nest-init.sql

当我在每个子目录中使用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。

感谢任何帮助。

1 个答案:

答案 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"