【发布时间】:2015-11-20 17:25:51
【问题描述】:
我正在使用docker-compose 创建我的开发环境。我想构建一个特定的图像,但我不知道如何为该图像设置名称。
wildfly:
build: /path/to/dir/Dockerfile
container_name: wildfly_server
ports:
- 9990:9990
- 80:8080
environment:
- MYSQL_HOST=mysql_server
- MONGO_HOST=mongo_server
- ELASTIC_HOST=elasticsearch_server
volumes:
- /Volumes/CaseSensitive/development/wildfly/deployments/:/opt/jboss/wildfly/standalone/deployments/
links:
- mysql:mysql_server
- mongo:mongo_server
- elasticsearch:elasticsearch_server
当我执行docker-compose 时,一切正常,但我得到了新图像的随机名称。是否可以为构建映像设置名称?
【问题讨论】:
-
如果您使用 docker-compose 构建镜像,镜像名称将始终为
<project>_<service>,其中<service>在此示例中为wildfly,项目默认为目录您所在的名称。您可以使用-p或COMPOSE_PROJECT_NAME环境变量来更改它。无法设置自定义图像名称。 -
没有可接受的答案吗?
-
docs.docker.com/docker-cloud/apps/service-links - 关于这个主题的官方文档
-
您也可以在
.env中设置COMPOSE_PROJECT_NAME=x,您的容器将被称为{x}_{service}_{#} -
注意: 因为 Docker 容器名称必须是唯一的,如果您指定了自定义名称,则不能将服务扩展到超过 1 个容器。尝试这样做会导致错误。 documentation
标签: docker docker-compose orchestration