当我使用build命令时,Docker compose忽略了我的Dockerfile

时间:2016-01-26 20:50:25

标签: docker docker-compose

我有这个文件夹结构:

/首页/我/ composetest /家/我/ composetest / mywildflyimage

在复合内部我有这个docker-compose.yml:

Task

在mywildflyimage中我有这个泊坞窗图像:

web:
    image: test/mywildfly
    container_name: wildfly
    ports:
        - "8080:8080"
        - "9990:9990"

如果我跑

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"]

一切都很好,管理部分的意思是0.0.0.0(CMD命令的管理0.0.0.0部分)。

如果我更改了docker-compose.yml:

docker built -t test/mywildfly .
docker-compose up

然后跑     docker-compose up

它仍然会启动,但管理部分不再绑定到0.0.0.0(这是我继承的图像的默认行为)。

为什么我在docker-compose.ml中使用web: build: mywildflyimage container_name: wildfly ports: - "8080:8080" - "9990:9990" 命令时会停止工作?

编辑:它似乎忽略了我所有的docker文件命令。

2 个答案:

答案 0 :(得分:6)

更改docker-comopse.yml后再运行docker-compose build,然后docker-compose up

答案 1 :(得分:2)

在您键入docker-compose up之前,您应该使用docker-compose build [options] [SERVICE...]构建图片。

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