我想使用我的应用程序堆栈,包括3个docker镜像并由docker-compose管理,并将其从我的开发机器整个移动到生产机器上。我知道有几种方法可以直接使用docker:
我目前倾向于使用docker save然后使用docker加载,但是我想知道是否有办法用docker-compose管理的整套容器来做到这一点?
提前致谢
答案 0 :(得分:7)
Compose中没有保存Compose文件中内置图像的功能,这是docker客户端的工作(正如您在docker save
和docker load
中所说的那样)。幸运的是,bash是直截了当的:
images=(web cache db)
for image in images
do
docker save ${image} > ${image}.tar
scp ${image}.tar $yourhost:
ssh $yourhost docker load ${image}.tar
done
远程注册表选项可能是更“生产等级”的方法。移动一堆图像可能会非常慢,但是YMMV。