Docker构建特定的本地git分支

Zad*_*ola 5 git docker boot2docker docker-compose docker-machine

我是 docker 新手,想要容器化我的应用程序的特定 git 分支。如果我运行 docker build 并给出 dockerfile 的位置,将构建一个图像,但默认情况下从本地 master 分支构建。我希望能够要构建另一个分支,请说“开发”。我做了一些研究,我发现的所有答案都建议从特定的远程分支而不是特定的本地分支进行构建。

Dav*_*aze 1

您\xe2\x80\x99d 执行此操作的方式与您\xe2\x80\x99d 从源代码、非默认分支构建或运行任何其他程序的方式相同:签出要在本地运行的分支,然后运行docker build​​.

\n\n
git clone git@github.com:myname/project\ncd project\ngit checkout branchname\ndocker build \\\n  -t myname/project:branchname-g$(git rev-parse --short HEAD) \\\n  .\n
Run Code Online (Sandbox Code Playgroud)\n\n

(我需要在日常工作中经常这样做:它让我检查我的同事\xe2\x80\x99s建议的功能分支并自己实际运行它们。做这样的事情,或者尝试构建昨天的 Docker 映像\ xe2\x80\x99s 代码(而不是今天损坏的代码)往往是不在git cloneDockerfile 中使用的一个很好的理由。)

\n

  • 这不是从现有的本地分支构建,而是检查远程分支然后构建它 (3认同)