如果你想将正在运行的容器保存成镜像并下载

  1. 将正在运行的容器保存成镜像:
    先找到正在运行的容器 ID 或名称:

docker ps

然后使用 docker commit 将容器保存成镜像:

docker commit <容器ID或名称> <新镜像名称>:<标签>

例如,将容器 mycontainer 保存成镜像 myimage:latest:

docker commit mycontainer myimage:latest

  1. 保存镜像到本地文件:
    使用 docker save 命令将镜像导出成 .tar 文件:

docker save -o <路径/文件名.tar> <镜像名称>:<标签>

例如:

docker save -o myimage.tar myimage:latest

  1. 下载/传输镜像:
    将生成的 .tar 文件通过 scp、rsync 或其他传输工具下载到本地计算机。
  2. 在其他系统中加载镜像:
    使用 docker load 命令导入镜像:

docker load -i <路径/文件名.tar>

例如:

docker load -i myimage.tar

这样,你就可以将正在运行的容器保存为镜像并下载到本地。

要保存正在运行容器的运行参数(例如环境变量、端口映射、卷挂载、启动命令等),你可以使用以下方法:

  1. 使用 docker inspect 命令:
    docker inspect 可以查看容器的详细配置和运行参数。使用以下命令获取容器的所有信息并保存到文件中:

docker inspect <容器ID或名称> > container-config.json

这样会生成一个 JSON 文件,其中包含该容器的所有配置信息。

  1. 从 docker inspect 输出中提取特定参数:
    如果你只需要特定的参数,可以结合 jq(一个 JSON 解析工具)来提取特定信息。例如:

docker inspect <容器ID或名称> | jq ‘.[0].Config.Env’

上述命令会提取容器的环境变量。你可以根据需要修改键值来获取其他信息,例如端口、卷等。

  1. 使用 docker run 重建容器:
    通过 docker inspect 获取的信息,可以编写一个完整的 docker run 命令,以便在以后重新创建容器。例如,提取容器的 Cmd 和 Env 并重新组织为 docker run 参数:

docker inspect <容器ID或名称> | jq ‘.[0].Config.Cmd’
docker inspect <容器ID或名称> | jq ‘.[0].Config.Env’

然后,你可以手动组合这些参数,例如:

docker run -d -e VAR1=value1 -e VAR2=value2 -p 8080:80 –name mycontainer myimage:latest

  1. 使用 docker export 和 docker import:
    如果你想保存容器的文件系统及其状态,可以使用 docker export 和 docker import:

docker export <容器ID或名称> -o container.tar

然后在需要时重新导入:

cat container.tar | docker import – myimage:latest

注意:docker export 仅保存文件系统,不包含运行时参数(如端口映射、环境变量)。因此,推荐用 docker inspect 来保存和记录参数。


已发布

分类

,

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注