在位于容器内的dockerfile上运行docker build

时间:2018-04-19 11:27:51

标签: docker dockerfile docker-build

我是Docker的初学者,我正试图掌握其结构和流程。我在工作中有以下情况,我想弄清楚。

我在节点上运行了一个docker容器my-container。在这个容器里面是一个Dockerfile,我用几个RUN行更新了它,这样它就会在每次运行容器时安装一些东西。我删除了现有的docker镜像,我想使用更新的Dockerfile重建并标记docker镜像。 Dockerfile编辑和映像重建只需要一次。

是否有最佳或普遍接受的方法使docker build使用位于容器内的Dockerfile运行?我四处搜寻,可以找到一些不同的方法:

  • 在容器内运行docker build,使用Docker中的Docker概述here
  • 通过传递套接字从容器内运行docker build(尽管永远不会这样做,有没有办法在运行命令后关闭漏洞(一次性关闭)并再次运行容器没有使用-v?
  • 进行绑定安装
  • 从容器外部运行docker build,但是使用包含更新的dockerfile的容器的url作为构建上下文?看到: 3 different ways to provide docker build contextDocker docs
  • 我还没有找到的其他一些方法。
  • 由于

    2 个答案:

    答案 0 :(得分:0)

    在Docker中有一个名为" Docker的Docker镜像"它允许你在容器内调用Docker,也许这可能会在你的设置中指出一些提示。

    https://hub.docker.com/_/docker/

    答案 1 :(得分:0)

    您可以将容器内的Dockerfile定义为卷,然后使用docker build命令从外部(主机)调用该Dockerfile。我认为这是最简单的方法。