我们正在评估Docker用于我们的应用程序,所以非常想知道以下问题:
在不同的机器之间移动docker图像和容器的最佳做法是什么? 另外,如何在不同地区的生产环境中管理容器和图像?
答案 0 :(得分:2)
首先,Docker架构有一个使用Registry的推拉机制(可能是私有或公共的(如docker Hub)。
1)回答你的第一个问题 - 在机器之间移动Docker镜像和容器?
您可以创建图像或容器的tar文件,然后在您的计算机之间移动tar文件。
使用 docker ps -a 进行检查,然后根据您的要求使用以下任意一项:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS 68d9619a7a91 ubuntu:14.04" / bin / bash" 10秒前退出
对于容器移动 - 使用泊坞窗导出和导入:
$ docker export 68d9619a7a91> Ubuntu的container.tar 强>
$ docker import - update< Ubuntu的container.tar 强>
对于图像移动 - 使用docker save并加载:
$ docker images
$ docker save -o image.tar
$ docker load< image.tar 强>
2)第二个问题 - 在生产环境中管理容器?
a)最好让自己的私有注册表管理容器所需的所有图像。假设您有一个专用节点作为Docker注册表,其中所有docker镜像都将保留。现在您可以将更改或更新的图像推送到注册表,然后相应地将此图像从此注册表中提取到将运行容器的计算机图像。
b)管理群集和不同云提供商的图片/容器的另一个好方法是使用 Kubernetes (由Google开源)。虽然我们还没有实现Kubernetes,但刚刚开始研究它的文档,如果你使用的是docker容器和云,它看起来很有希望。