每次更改后重建容器?

 霸气小米鱼鱼_156 发布于 2023-01-08 18:39

如果您有以下情况,Docker文档建议使用该ONBUILD指令:

例如,如果您的映像是可重用的python应用程序构建器,则需要将应用程序源代码添加到特定目录中,并且可能需要在此之后调用构建脚本.您现在不能只调用ADD和RUN,因为您还无法访问应用程序源代码,并且每个应用程序构建都会有所不同.您可以简单地为应用程序开发人员提供一个样板Dockerfile来复制粘贴到他们的应用程序中,但这样做效率低,容易出错且难以更新,因为它与特定于应用程序的代码混合在一起.

基本上,这一切听起来都不错,但这确实意味着每次改变某些东西时我都必须重新创建app容器,即使它只是一个错字.

这似乎不是非常有效,例如在创建用于在浏览器中更改内容,保存和点击刷新的Web应用程序时.

你怎么处理这个?

1 个回答
  • 这意味着每次我改变一些东西时我都必须重新创建app容器,即使它只是一个错字

    不一定,您可以使用命令-v选项项目文件注入容器.因此,您不必重建docker镜像.docker run

    请注意,该ONBUILD指令适用于Dockerfile继承FROM父Dockerfile的情况.ONBUILD当Docker构建子Dockerfile的映像时,将运行父Dockerfile中的指令.


    这似乎不是非常有效,例如在创建用于在浏览器中更改内容,保存和点击刷新的Web应用程序时.

    如果您在迭代应用程序代码时使用Docker容器来提供Web应用程序,那么我建议您创建一个特殊的Docker映像,其中只包含运行应用程序但应用程序代码的所有内容.

    然后在主机上共享包含应用程序代码的目录,其中包含在docker容器中提供应用程序文件的目录.

    例如,如果我正在开发一个静态网站并且我的工作区处于/home/thomas/workspace/project1/,那么我将启动一个运行nginx的容器:

    docker run -d -p 80:80 -v /home/thomas/workspace/project1/:/usr/local/nginx/html:ro nginx
    

    这样我可以更改文件/home/thomas/workspace/project1/并更改实时反映,而无需重建docker镜像甚至重新启动docker容器.

    2023-01-08 18:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有