Skip to content
60.Docker»50.Dockerfile»LV005-从容器创建镜像.md

LV005-从容器创建镜像

一、Docker commit 命令

docker commit 命令用于将容器的当前状态保存为一个新的 Docker 镜像,以便在将来可以重用或分发该镜像。命令格式如下:

shell
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

【OPTIONS】

  • -a : 提交的镜像作者。
  • -c : 使用 Dockerfile 指令来创建镜像。
  • -m : 提交时的说明文字。
  • -p : 提交镜像前暂停容器(默认为 true)。

二、创建镜像

1. 制作容器

首先使用交互式运行一个 alpine 容器。

shell
docker run -it alpine

然后我们在容器中执行一些命令,比如安装一个软件,然后退出容器。

shell
apk update
apk add figlet
figlet "hello docker"
exit

这样,我们就在 alpine 容器中安装了 figlet 工具,当然,之后我们会安装一些更加有用的软件, 比如 git,nginx 等等。

2. 保存成镜像

然后我们需要将这个新的容器环境跟其他人分享,我们可以通过 commit 命令将容器保存为一个镜像。

shell
docker ps -a # 查看容器
docker commit <container_id>

这样,我们就创建了一个装有 figlet 的镜像,我们可以通过 docker image 命令查看。

shell
docker image ls

从上一个命令中,获取新创建镜像的 ID,将其重新 tag 为 alpine-figlet。

shell
docker tag <image_id> alpine-figlet

然后我们就可以使用这个新的镜像了。

shell
docker run alpine-figlet figlet "hello docker"

最后我们也可以使用 docker push 命令将镜像推送到镜像仓库中,其他人便可以使用 docker pull 来使用这个镜像了。

莫道桑榆晚 为霞尚满天.