* 在源电脑上:
// 确认容器ID
docker ps
- 创建一个新的镜像
docker commit 容器ID 新的镜像名称
docker commit abc123 my_new_image
- 导出镜像
docker save -o C:\Users\YourUser\新的镜像名称.tar 新的镜像名称
docker save -o C:\Users\YourUser\new_image.tar my_new_image
- 获取容器的配置
docker inspect 容器ID > C:\Users\YourUser\container_config.json
docker inspect abc123 > C:\Users\YourUser\container_config.json
确认容器端口:查找 ExposedPorts 字段
- 拷贝文件到另一台电脑 - 目标电脑
通过 USB 驱动器或网络共享将 new_image.tar 文件传输到目标电脑
* 目标电脑:
- 导入镜像
docker load -i C:\Users\YourUser\new_image.tar
- 使用提取的配置信息重新创建容器
docker run -d --name 新容器名称 -p 宿主机端口:容器端口 -e 环境变量 -v 宿主机路径:容器路径 新的镜像名称
docker run -d --name my_new_container -p 8080:80 -e "ENV_VAR=value" -v "C:\HostPath:/ContainerPath" my_new_image
示例 - container_config.json
{
"HostConfig": {
"PortBindings": {
"80/tcp": [
{
"HostIp": "",
"HostPort": "8080"
}
]
}
},
"Config": {
"Env": [
"ENV_VAR=value",
"ANOTHER_VAR=another_value"
]
},
"Mounts": [
{
"Type": "bind",
"Source": "C:\\HostPath",
"Destination": "/ContainerPath"
}
]
}