【发布时间】:2021-09-03 09:50:03
【问题描述】:
我正在尝试创建一个多阶段 Dockerfile,其中第一阶段旨在在开发环境(简单的开发服务器)中启动,第二阶段旨在用于生产(全尺寸 Web 服务器)。
FROM python:3.9-alpine3.14 as develop
...
CMD python manage.py runserver 0.0.0.0:8000
FROM python:3.9-alpine3.14 as production
...
CMD gunicorn -b 0.0.0.0:8000 backend.wsgi
我正在尝试在 docker-compose.yml 中指定目标阶段,如下所示:
version: '3.7'
services:
backend:
build:
target: develop
...
但它没有任何作用。即使我将目标设置为OohEehOohAhAahTingTangWallaWallaBingBang,也没有错误并且生产服务器(Dockerfile 中的最后阶段)启动。
那么,如何在 docker-compose.yml 中指定应该启动哪个目标?
编辑:我在 Ubuntu-20.04 中使用 WSL(Linux 的 Windows 子系统)
$ docker-compose --version
Docker Compose version v2.0.0-rc.1
【问题讨论】:
-
这不是分离开发和产品图像的推荐方法。
标签: docker docker-compose docker-multi-stage-build