【问题标题】:Docker container/image is not rebuilding automatically on code amendmentDocker 容器/映像不会在代码修改时自动重建
【发布时间】:2016-05-03 15:57:05
【问题描述】:

简而言之,每当我编写新的函数块时,我希望我的 docker 容器/图像自动重建。 我创建了一个节点应用程序,通过 compose 在 Docker 容器中运行服务器。 该容器工作正常,但是每当我在文件或目录中进行更改时,它都不会自动呈现更改。我需要通过

再次重建目录 $ docker-compose up --build

以便更改生效。

有没有我可能不需要手动重建容器的解决方案?

问候。

【问题讨论】:

  • 您需要使用 Jenkins、circleCi、GoCD 或类似工具将其连接到构建管道
  • 有没有考虑过使用volume来挂载容器中的应用代码?
  • 感谢 Boynux 和 pdoherty926 :- 是的,我正在讨论卷的概念。我什至尝试过,我只有一个问题,在我的 docker-compose.yml 文件中编写卷指令会创建一个卷?或者我必须先手动创建一个卷,然后它会在文件中引用它?

标签: node.js docker docker-compose


【解决方案1】:

您要么想看看 Boynux 建议的某种交付管道工具,顺便说一句 Dockerhub 可以观看 github 进行签入并触发自动映像构建。

或者您可以使用卷将代码安装到容器中,以便获取更改。

您选择的选项取决于您的理念/交付渠道。

【讨论】:

  • 嗨,JHarris:谢谢,是的,我正在研究卷的概念。我什至尝试过,我只有一个问题,在我的 docker-compose.yml 文件中编写卷指令会创建一个卷?或者我必须先手动创建一个卷,然后它会在文件中引用它?
  • 您可以直接在 docker-compose 文件中创建卷,请参见此处:docs.docker.com/compose/compose-file/…
  • 嗨 JHarris:我一直在努力,但是到目前为止我无法解决这个问题,这是我的 docker-compose.yml 文件www: container_name: app_www_1 build: . volumes: - /var/lib/docker/volumes/app_ww - /opt/apnosrest:/var/lib/docker/volumes/app_ww - ./cache:/tmp/cache ports: - "80:3000" expose: - "80" 我没有完成我需要的工作。即,自动呈现代码中所做的更改。这是系统中创建的卷列表:$ docker volume ls DRIVER VOLUME NAME local app_ww
  • 您似乎没有正确使用卷。请在您的问题中发布您的 docker-compose.yml 文件,以及您希望将哪些目录挂载到您的 container 中。
  • nodemon 完美地为我工作。感谢您的回复@JHarris。
猜你喜欢
  • 1970-01-01
  • 2022-11-11
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
  • 2020-03-20
  • 2014-02-12
相关资源
最近更新 更多