当我使用build命令时,Docker组合会忽略我的Dockerfile
我有这个文件夹结构:
/ home / me / composetest / home / me / composetest / mywildflyimage
里面的复合材料我有这个docker-compose.yml:
web: image: test/mywildfly container_name: wildfly ports: - "8080:8080" - "9990:9990"
在mywildflyimage里面我有这个docker图片:
FROM jboss/wildfly EXPOSE 8080 9990 ADD standalone.xml /opt/jboss/wildfly/standalone/configuration/ RUN /opt/jboss/wildfly/bin/add-user.sh admin admin --silent CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]
如果我跑
docker built -t test/mywildfly . docker-compose up
一切都很好,pipe理部分是0.0.0.0(CMD命令的-bmanagement 0.0.0.0部分)。
如果我更改我的docker-compose.yml:
web: build: mywildflyimage container_name: wildfly ports: - "8080:8080" - "9990:9990"
并运行docker组成
它仍然启动,但pipe理部分不再绑定到0.0.0.0(这是我inheritance的图像的默认行为)。
为什么在docker-compose.ml中使用build
命令时会停止工作?
编辑:它似乎是忽略所有我的docker文件命令。
在更改docker-comopse.yml后运行docker docker-compose build
,然后docker docker-compose up
在你inputdocker-compose up
,你应该用docker-compose build [options] [SERVICE...]
来构build图像。
Options: --force-rm Always remove intermediate containers. --no-cache Do not use cache when building the image. --pull Always attempt to pull a newer version of the image.
在你的情况下,例如: docker-compose build --no-cache web