我将尝试测试一项工作流程,其中我将导出一个Docker容器,然后将其导入到另一个系统上。为了进行测试,我只在我的系统上工作。我从已创建的容器中创建了一个.tar文件,然后删除了我的系统上的所有容器/卷。接着,我像这样将.tar文件重新导入到Docker中:
我的命令语法似乎不正确,但从Docker文档或SO上我并没有找到很好的解决方法。我只提供镜像ID就不能运行镜像吗?
> docker import c:/max_docker/vol_backup.tar
sha256:39da6ef6400fed7b4bbf153bf9525c4f4094a8e5d465e1736a070769957a3d37
我验证了图片已经正确加载...
> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 39da6ef6400f 30 seconds ago 11.8GB
ubuntu latest 74435f89ab78 39 hours ago 73.9MB
overv/openstreetmap-tile-server latest a964a65d28d1 2 weeks ago 3.21GB
然后,我尝试从我的图像创建一个容器:
> docker run -v /var/lib/postgresql/12/main --name dbstore2 39da6ef6400f
docker: Error response from daemon: No command specified.
See 'docker run --help'.
我的命令语法似乎不正确,但从Docker文档或SO上我并没有找到很好的解决方法。我只提供镜像ID就不能运行镜像吗?
编辑:
明确一下,我的整个目标是将大量数据从一个系统移动到另一个系统。我无法找到该卷(我在Windows 10上),也不知道如何导出该卷(Docker似乎不支持此功能),所以我想尝试将该卷的数据放入容器中,然后将该容器导出到另一个系统。
docker build
构建出一个镜像,并从其中运行容器;如果你需要更改镜像设置,更新Dockerfile并删除和重新创建现有的容器。我从来没有使用过docker import
;你想用它做什么? - David Maze