千家信息网

如何通过容器提交镜像DockerCommit及推送镜像DockerPush

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关如何通过容器提交镜像DockerCommit及推送镜像DockerPush的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在本地创建一个容器后,可以
千家信息网最后更新 2026年11月01日如何通过容器提交镜像DockerCommit及推送镜像DockerPush

这篇文章给大家分享的是有关如何通过容器提交镜像DockerCommit及推送镜像DockerPush的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在本地创建一个容器后,可以依据这个容器创建本地镜像,并可把这个镜像推送到Docker hub中,以便在网络上下载使用。

查看镜像[root@docker-test1 ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEdocker.io/ubuntu    16.04               7aa3602ab41e        5 weeks ago         115 MB 创建一个名为myubuntu的容器[root@docker-test1 ~]# docker run -ti --name myubuntu -d docker.io/ubuntu[root@docker-test1 ~]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES651a8541a47d        docker.io/ubuntu    "/bin/bash"         37 seconds ago      Up 36 seconds                           myubuntu  docker commit :从容器创建一个新的镜像。# docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]-a :提交的镜像作者;-c :使用Dockerfile指令来创建镜像;-m :提交时的说明文字;-p :在commit时,将容器暂停。 根据这个myubuntu容器提交镜像[root@docker-test1 ~]# docker commit -a "wangshibo" -m "this is test" 651a8541a47d myubuntu:v1sha256:6ce4aedd12cda693d0bbb857cc443a56f9f569106e09ec61aa53563d0932ea4d 再次查看镜像,发现镜像myubuntu:v1已经提交到本地了[root@docker-test1 ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEmyubuntu            v1                  6ce4aedd12cd        59 seconds ago      84.1 MBdocker.io/ubuntu    16.04               7aa3602ab41e        5 weeks ago         115 MB 在mybuntu:v1镜像推送到docker hub仓库中去# docker push [OPTIONS] NAME[:TAG]OPTIONS说明:--disable-content-trust :忽略镜像的校验,默认开启  首先是登录docker hub (用户名:wangshibo    密码:*******)[root@docker-test1 ~]# docker loginLogin with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.Username (wangshibo): wangshiboPassword:Login Succeeded [root@docker-test1 ~]# docker push wangshibo/myubuntu:v1The push refers to a repository [docker.io/wangshibo/myubuntu]An image does not exist locally with the tag: docker.io/wangshibo/myubuntu 这里需要将ubuntu:v1镜像改名,在名称前加上自己的docker hub的Docker ID,即wangshibo [root@docker-test1 ~]# docker tag 6ce4aedd12cd wangshibo/myubuntu:v1[root@docker-test1 ~]# docker imagesREPOSITORY           TAG                 IMAGE ID            CREATED             SIZEmyubuntu             v1                  6ce4aedd12cd        6 minutes ago       84.1 MBwangshibo/myubuntu   v1                  6ce4aedd12cd        6 minutes ago       84.1 MBdocker.io/ubuntu     16.04               7aa3602ab41e        5 weeks ago         115 MB 再次进行推送(注意:下面的v1的tag标签可以不打,默认是latest)。推送操作时间稍微会有一点长,耐心等待~[root@docker-test1 ~]# docker push wangshibo/myubuntu:v1           The push refers to a repository [docker.io/wangshibo/myubuntu]b5948ba9486d: Pushed8d7ea83e3c62: Mounted from library/ubuntu6a061ee02432: Mounted from library/ubuntuf73b2816c52a: Mounted from library/ubuntu6267b420796f: Mounted from library/ubuntua30b835850bf: Mounted from library/ubuntuv1: digest: sha256:e9cd9075d262848a307c92751e1a5890d883b814a31abd118161442461a1ca2d size: 1564 最后登录自己的Docker Hub,即https://hub.docker.com/登录后,在Repositories里面就可以看到自己在上面推送的镜像wangshibo/myubuntu:v1了,这是个对外的镜像,可以在网络上下载。在Docker hub上可以看到这个镜像的下载命令(注意下载时跟上tag标签,如果是latest的默认tag可以不跟)也可以直接在Docker hub上删除这个镜像(Repositories-镜像-Settings-delete) 比如在另一台服务器上下载这个镜像[root@kevin-test ~]# docker pull wangshibo/myubuntuPulling repository wangshibo/myubuntuRepository not found 需要跟上tag标签[root@kevin-test ~]# docker pull wangshibo/myubuntu:v1v1: Pulling from wangshibo/myubuntu68e2a091ef24: Pull complete8f9dd35f6299: Pull completea81a6171600b: Pull completea211a2bc7010: Pull complete9e71a0b4f83a: Pull complete0cf75bb335aa: Pull completec393a882769e: Pull completeDigest: sha256:845fa3dcc9d0de1b9c701e1009918995da35a29012015f6c297a05edc489e018Status: Downloaded newer image for wangshibo/myubuntu:v1[root@kevin-test ~]# docker  imagesREPOSITORY           TAG                 IMAGE ID            CREATED             VIRTUAL SIZEwangshibo/myubuntu   v1                  c393a882769e        12 minutes ago      84.11 MB 在本机删除这个镜像[root@docker-test1 ~]# docker imagesREPOSITORY           TAG                 IMAGE ID            CREATED             SIZEmyubuntu             v1                  6ce4aedd12cd        15 minutes ago      84.1 MBwangshibo/myubuntu   v1                  6ce4aedd12cd        15 minutes ago      84.1 MBdocker.io/ubuntu     16.04               7aa3602ab41e        5 weeks ago         115 MB 注意上面有两个6ce4aedd12cd的镜像ID,此时直接使用这个镜像ID是删除不掉的[root@docker-test1 ~]# docker rmi 6ce4aedd12cdError response from daemon: conflict: unable to delete 6ce4aedd12cd (must be forced) - image is referenced in multiple repositories 应该先删除docker tag改名前的镜像,使用镜像名称删除。(一般在docker tag镜像改名后,最好删除改名前的镜像)[root@docker-test1 ~]# docker rmi myubuntu:v1Untagged: myubuntu:v1Untagged: wangshibo/myubuntu@sha256:e9cd9075d262848a307c92751e1a5890d883b814a31abd118161442461a1ca2d [root@docker-test1 ~]# docker imagesREPOSITORY           TAG                 IMAGE ID            CREATED             SIZEwangshibo/myubuntu   v1                  6ce4aedd12cd        15 minutes ago      84.1 MBdocker.io/ubuntu     16.04               7aa3602ab41e        5 weeks ago         115 MB 这个时候就可以删除镜像ID删除了[root@docker-test1 ~]# docker rmi 6ce4aedd12cdUntagged: wangshibo/myubuntu:v1Deleted: sha256:6ce4aedd12cda693d0bbb857cc443a56f9f569106e09ec61aa53563d0932ea4dDeleted: sha256:0ddeb6a16badd042914c2e72b9ef0331550c1cdcc4bdc6650a90cd9f57f1501b[root@docker-test1 ~]# docker images         REPOSITORY          TAG                 IMAGE ID            CREATED             SIZEdocker.io/ubuntu    16.04               7aa3602ab41e        5 weeks ago         115 MB

删除镜像失败一例分享

[root@docker-test1 ~]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES[root@docker-test1 ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES 打算删除掉docker的nginx镜像, 但是发现这个镜像就是删除不了,加了-f强制删除也不行,一直报Error: No such image的错误,最后终于找到了办法直接删除文件! [root@docker-test1 ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEnginx               latest              62f816a209e6        7 days ago          109MB [root@docker-test1 ~]# docker rmi nginxError: No such image: nginx [root@docker-test1 ~]# docker rmi 62f816a209e6Error: No such image: 62f816a209e6 [root@docker-test1 ~]# docker rmi 62f816a209e6 -fError: No such image: 62f816a209e6 如上,怎么都删除不掉nginx镜像!!!!! 处理办法:[root@docker-test1 ~]# systemctl stop docker[root@docker-test1 ~]# rm -rf /var/lib/dockerrm: cannot remove '/var/lib/docker/containers': Device or resource busy 删除不了的原因是: 在建立容器的时候做了相应目录的挂载,没有卸载,所以Device or resource busy 解决办法: 查找挂载的目录并卸载[root@docker-test1 ~]# cat /proc/mounts | grep "docker"/dev/mapper/centos-root /var/lib/docker/containers xfs rw,relatime,attr2,inode64,noquota 0 0proc /run/docker/netns/default proc rw,nosuid,nodev,noexec,relatime 0 0proc /run/docker/netns/a0626c54fd03 proc rw,nosuid,nodev,noexec,relatime 0 0proc /run/docker/netns/b18072de4224 proc rw,nosuid,nodev,noexec,relatime 0 0proc /run/docker/netns/b5298f643455 proc rw,nosuid,nodev,noexec,relatime 0 0proc /run/docker/netns/9f5e97637c98 proc rw,nosuid,nodev,noexec,relatime 0 0 [root@docker-test1 ~]# umount /var/lib/docker/containers[root@docker-test1 ~]# rm -rf /var/lib/docker [root@docker-test1 ~]# systemctl start docker 再次查看就没有这个镜像了[root@docker-test1 ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

感谢各位的阅读!关于"如何通过容器提交镜像DockerCommit及推送镜像DockerPush"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

镜像 容器 推送 上下 再次 办法 标签 登录 内容 名称 时候 更多 目录 篇文章 网络 不行 不错 实用 耐心 两个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云南咖啡 中关村互联网科技集团 深圳互联网络科技有限公司 智网互联网科技 杭州互联网科技公司 米客互联网科技 银川新华互联网科技学校地址 现代科技和互联网有关系吗 剑昆互联网络科技有限公司临桂 浙江互联网科技研学营 南平创想时代互联网科技有限公司 岳阳华臻互联网科技有限公司 晓花互联网科技有限公司网址 健康食品互联网创新科技园项目 深圳市罗太互联网科技有限公司 山东子淼互联网科技有限公司 东营紫格互联网科技 上海同邻互联网科技有限公司规模 互联网的科技体现在哪里 广东猫王互联网科技有限公司电话 苏州找大状互联网科技有限公司 互联网电商科技 喔噻互联网科技 互联网科技公司名称 玖二柒互联网科技公司待遇 互联网科技中介 团飞科技与伯堂互联网服务平台 辽宁互联网新科技 威龙国际互联网科技公司 数字互联网科技有限公司
0