我是docker的新手,想对我的应用程序的特定git分支进行容器化。如果我运行docker build并提供dockerfile的位置,则会默认从本地master分支构建一个映像。为了能够建立另一个分支,说“开发”。我做了一些研究,发现的所有答案都建议从特定的远程分支而非特定的本地分支进行构建。
答案 0 :(得分:1)
您将以与从非默认分支中从源代码构建或运行任何其他程序相同的方式执行此操作:检出要在本地运行的分支,然后运行docker build
。 / p>
git clone git@github.com:myname/project
cd project
git checkout branchname
docker build \
-t myname/project:branchname-g$(git rev-parse --short HEAD) \
.
(我需要在日常工作中相当常规地执行此操作:它使我可以检查同事提议的功能分支并自己实际运行它们。执行类似的操作,或者尝试构建昨天代码的Docker映像,而不是今天发生的事情,通常是一个很好的理由,不要从您的Dockerfile中git clone
。)