将已有容器提交为镜像

如果你当前有的是一个正在运行的Docker容器,而不是镜像,你可以将这个容器保存为镜像,然后再上传到 Docker Hub

可以使用docker commit命令,将当前容器保存为一个新的 Docker 镜像:

❯ docker commit <container-id> <new-image-name>

如果你的容器 ID 是 abc123,并且你想把它保存为名为 my-app-image 的镜像:

❯ docker commit abc123 my-app-image

如果你需要附加信息,可以使用-m选项添加你要提交的信息

使用docker images可以查看生成的镜像。

标记镜像

现在已经有了一个镜像,即便没有,是容器的话,经过上一步骤也应该有了镜像,现在需要给镜像打标签标记版本:

❯ docker tag <new-image-name> <hub-username>/<repository-name>:<tag>

推送镜像

现在可以将标记的镜像推送到docker hub了:

❯ docker push <hub-username>/<repository-name>:<tag>

多个标记

Docker Hub 中,你可以为同一个镜像创建多个标签(tags),例如 latestv1.1v1.2 等,这样可以标识不同的版本,同时保持 latest 作为最新版本的标识。

❯ docker tag <new-image-name> <hub-username>/<repository-name>:latest
❯ docker tag <new-image-name> <hub-username>/<repository-name>:v1.1
❯ docker push <hub-username>/<repository-name>:latest
❯ docker push myusername/<repository-name>:v1.1