如何将Docker映像从一个TeamCity构建传递到另一个?

时间:2019-03-31 18:31:55

标签: docker teamcity

我需要拆分一个teamcity构建,该构建将构建并将docker映像推送到docker注册表中,并分为两个独立的构建。

a)构建docker映像并将其发布为工件的人

b)接受第一个构建中的docker工件并将其推送到注册表中的人

日志说,这三个命令正在运行:

docker build -t thingy -f /opt/teamcity-agent/work/55abcd6/docker/thingy/Dockerfile /opt/teamcity-agent/work/55abcd6
docker tag thingy docker.thingy.net/thingy/thingy:latest
docker push docker.thingy.net/thingy/thingy:latest

还有很多其他事情,但是我认为这是重要的部分。

所以我已经复制了最初的版本两次,第一个命令在第一个版本中,第二个在第二个版本中。

我已将第一个构建设置为第二个构建的快照依赖项,然后运行它。我得到的是:

FileNotFoundError: [Errno 2] No such file or directory: 'docker': 'docker'

这可能是因为某些文件丢失了。

现在,我确实想将docker映像作为工件发布,并首先构建一个工件依赖项,但是我找不到docker放置文件的位置以及所有包含“ docker”和其中的一个“文件”只会引出一系列有关Dockerfile的文章。

那么我该怎么做才能使第二个构建可以使用第一个构建得到的图像和/或环境?

1 个答案:

答案 0 :(得分:1)

老实说,我不明白您在这里到底想做什么。

但是,这可能会帮助您:

您可以将图像另存为tar文件:

docker save -o <image_file_name>.tar <image_tag>

然后可以将该档案文件移动并导入其他地方。

您可以通过“ docker inspect”获得有关图像或容器的大量信息:

docker inspect <image_tag>

希望这会有所帮助。