把docker-compose.yml 第一行 把 version: '3.0'改为version: '3.6'

问题如下

docker-compose 使用多重构建时 报错

当前docker-compos 版本

docker-compose version 1.25.0, build unknown

所编写的Dockerfile

FROM node:10.15 as node_build
MAINTAINER biebbwa@163.com
ADD server.tar.gz /app
COPY docker-entrypoint.sh /usr/local/bin
COPY wait-for-it.sh /usr/local/bin
RUN chmod +x /usr/local/bin/docker-entrypoint.sh && \chmod +x /usr/local/bin/wait-for-it.shFROM node_build as dbserv
WORKDIR /app/server-side
ENTRYPOINT wait-for-it.sh mysql:3306 -s -t 0 --  dbserv.js ./etc/db_configFROM node_build as gate
WORKDIR /app/server-side
ENTRYPOINT wait-for-it.sh mysql:3306 -s -t 0 --  node gate.jsFROM node_build as game
WORKDIR /app/server-side
ENTRYPOINT wait-for-it.sh mysql:3306 -s -t 0 --node game.js ./etc/configFROM node_build as game2
WORKDIR /app/server-side
ENTRYPOINT wait-for-it.sh mysql:3306 -s -t 0 --node game2.js ./etc/config_twoFROM node_build as game3
WORKDIR /app/server-side
ENTRYPOINT wait-for-it.sh mysql:3306 -s -t 0 --node game3.js ./etc/config_therrFROM node_build as game4
WORKDIR /app/server-side
ENTRYPOINT wait-for-it.sh mysql:3306 -s -t 0 --node game4.js ./etc/config_four

编写的 docker-compose.yml

version: '3.0'
services:mysql:restart: alwaysbuild:context: mysql/dockerfile: Dockerfilecontainer_name: mysqlports:- 3306:3306environment:TZ: "Asia/Shanghai"privileged: "true"MYSQL_ROOT_PASSWORD: "123456"networks:- zhdhphp-apache:restart: alwaysbuild:context: php-apache/dockerfile: Dockerfilecontainer_name: php-apachedepends_on:- mysqlprivileged: truevolumes:- ./php-apache/web/config/project.manifest:/var/www/html/update/project.manifest- ./php-apache/web/config/version.manifest:/var/www/html/update/version.manifest- ./php-apache/web/config/0d30c115-6a25-49e7-be89-2b19b49d4551.json:/var/www/html/update/res/import/0d/0d30c115-6a25-49e7-be89-2b19b49d4551.json- ./php-apache/web/config/2777baf1-15f6-4156-8cf7-b33f1b727294.manifest:/var/www/html/update/res/raw-assets/27/2777baf1-15f6-4156-8cf7-b33f1b727294.manifestports:- 80:80networks:- zhdhgame-gate:restart: alwaysbuild:context: server/dockerfile: Dockerfiletarget: gatecontainer_name: zhdh-server-gatedepends_on:- mysql- php-apache- game-dbservvolumes:- ./server/server-side/etc/db_config.js:/app/server-side/etc/db_config.jsprivileged: truenetworks:- zhdhgame-game:restart: alwaysbuild:context: server/dockerfile: Dockerfiletarget: gamecontainer_name: zhdh-server-gamedepends_on:- mysql- php-apache- game-dbserv- game-gatevolumes:- ./server/server-side/etc/config.js:/app/server-side/etc/config.js- ./server/server-side/etc/db_config.js:/app/server-side/etc/db_config.jsprivileged: truenetworks:- zhdhgame-game2:restart: alwaysbuild:context: server/dockerfile: Dockerfiletarget: game2container_name: zhdh-server-game2depends_on:- mysql- php-apache- game-dbserv- game-gatevolumes:- ./server/server-side/etc/config_two.js:/app/server-side/etc/config_two.js- ./server/server-side/etc/db_config.js:/app/server-side/etc/db_config.jsprivileged: truenetworks:- zhdhgame-game3:restart: alwaysbuild:context: server/dockerfile: Dockerfiletarget: game3container_name: zhdh-server-game3depends_on:- mysql- php-apache- game-dbserv- game-gatevolumes:- ./server/server-side/etc/config_therr.js:/app/server-side/etc/config_therr.js- ./server/server-side/etc/db_config.js:/app/server-side/etc/db_config.jsprivileged: truenetworks:- zhdhgame-game4:restart: alwaysbuild:context: server/dockerfile: Dockerfiletarget: game4container_name: zhdh-server-game4depends_on:- mysql- php-apache- game-dbserv- game-gatevolumes:- ./server/server-side/etc/config_four.js:/app/server-side/etc/config_four.js- ./server/server-side/etc/db_config.js:/app/server-side/etc/db_config.jsprivileged: truenetworks:- zhdhgame-dbserv:restart: alwaysbuild:context: server/dockerfile: Dockerfiletarget: dbservcontainer_name: zhdh-server-dbservdepends_on:- mysql- php-apachevolumes:- ./server/server-side/etc/db_config.js:/app/server-side/etc/db_config.jsprivileged: truenetworks:- zhdh
networks:zhdh:driver: bridge

报错内容:

ERROR: The Compose file './docker-compose.yml' is invalid because:
services.game.build contains unsupported option: 'target'
services.game-dbserv.build contains unsupported option: 'target'
services.game-game.build contains unsupported option: 'target'
services.game-game2.build contains unsupported option: 'target'
services.game-game3.build contains unsupported option: 'target'
services.game-game4.build contains unsupported option: 'target'
services.game-gate.build contains unsupported option: 'target'

官网的说明

target
Added in version 3.4 file format

Build the specified stage as defined inside the Dockerfile. See the multi-stage build docs for details.

build:context: .target: prod

Version 3.4
An upgrade of version 3 that introduces new parameters. It is only available with Docker Engine version 17.09.0 and higher.

Introduces the following additional parameters:

target and network in build configurations
start_period for healthchecks
order for update configurations
name for volumes

解决方法

把docker-compose.yml 第一行 把 version: '3.0'改为version: '3.6'

docker-compose 3.4以上版本才能使用build.target多重构建相关推荐

  1. Docker compose 容器编排

    1. 概述 问题:如果要使用 Docker 运行 LNMP 架构,那么 Nginx.MySQL.PHP. Linux三个服务运行在一个容器里,还是运行在多个容器里呢? 答案是都可以. 你可以分别放在三 ...

  2. 这就是你日日夜夜想要的docker!!!---------Docker Compose容器编排理论+实操

    文章目录 一.Compose简介 1.在Compose中有两个重要的概念 2.docker,dockerfile与docker-compose区别 二.Compose安装与卸载 1.Centos系统安 ...

  3. Docker与Docker Compose的安装以及Portainer容器管理工具

    Docker官网 概述 Docker 是一个用于开发.发布和运行应用程序的开放平台.Docker 能够将应用程序与基础架构分离,以便可以快速交付软件.使用 Docker,可以像管理应用程序一样管理基础 ...

  4. Docker(八):Docker Compose

    Docker Compose Compose 简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具.通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务.然 ...

  5. 使用Docker Compose安装mysql

    使用Docker Compose安装mysql 1运行 安装 Docker Compose 运行以下命令以下载 Docker Compose 的当前稳定版本:$ sudo curl -L " ...

  6. docker compose linux安装以及使用

    1 安装 Compose 安装 Linux Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/r ...

  7. docker基础入门和docker compose实战

    Docker运维部署 docker官网:https://www.docker.com/ 文档:https://docs.docker.com/ Docker的文档是超级详细的! 仓库:https:// ...

  8. Docker容器虚拟化技术---Docker运维管理(Docker Compose)4

    Docker容器虚拟化技术-Docker运维管理(Docker Compose)4 Docker Compose 通过前面的讲解我们知道使用一个Dockerfile模板文件,可以很方便地定义一个单独的 ...

  9. Docker三剑客——Docker Compose

    目录 一.概述 二.Docker Compose工作流程 三.安装Docker Compose 四.Docker Compose管理命令 (1)docker-compose build (2)dock ...

最新文章

  1. 射影几何3:拓广平面
  2. 2021高考杭二中成绩查询,浙江高中成绩排名2021,浙江中考分数线排行榜
  3. SAP Fiori 的 UI 新主题 Horizon
  4. uni-app 实现小程序rsa加密(非对称加密原理)
  5. sharepoint对象模型性能比较
  6. 他在阿里的逆袭,只因为想做个“锤子”
  7. 江西财经大学计算机排名2019,2019年全国商科院校评价报告出炉 江西财经大学排名第七...
  8. SparkSQL: no typetag available for xxxx问题的解决办法
  9. 有用的Flex Builder快捷键
  10. 【Logstash】windows下logstash报错config files contains non-ascii characters but are not UTF-8 encoded
  11. 什么?程序员还要了解经济学?! 1
  12. JAVA中的观察者模式observer
  13. 【转】性能测试设计和LR原理的探讨
  14. window10企业版g c盘满了_C盘满了?试试这几招
  15. cannot open shared object file
  16. linux idle是什么进程,Linux idle基础
  17. python编程火车票_100行Python代码自动抢火车票!
  18. TestNg测试框架
  19. Ubuntu 21 .1安装wps office 2019并解决字体缺失问题教程
  20. 湖北智禾网络科技:新卖家前期对电商和淘宝店铺具备哪些基本的认知

热门文章

  1. 软碟通(UItralSO)制作启动盘,硬盘驱动找不到U盘
  2. 基于51单片机的直流电机转速显示+加速减速启停
  3. 成为专业程序员用到的各种资料,神器及框架
  4. 51单片机手动自动智能窗户窗帘控制系统手动自动定时
  5. Kudu(二)架构及开发
  6. 【设计模式】Command模式
  7. 企业社会责任与消费者话语权
  8. 编程实现输入三角形的三条边长,判断能否构成三角形,如果能构成三角形,则计算三角形的面积并判断三角形的类型(锐角三角形、钝角三角形、直角三角形)。
  9. GIMP:常用快捷键
  10. 网络编程——分离I/O流