千家信息网

docker将容器做出镜像的代码分享

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,今天小编给大家分享的是docker将容器做出镜像的代码,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。做出镜像可以使用commit命令或dock
千家信息网最后更新 2025年02月03日docker将容器做出镜像的代码分享

今天小编给大家分享的是docker将容器做出镜像的代码,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

做出镜像可以使用commit命令或dockerfile的方式,commit命令比较简单,相当于docker根据container内部执行的命令自动生成dockerfile,并进行了build,比较适合对dockerfile不熟悉的用户;dockerfile比较适合批量处理的场景。

使用docker commit命令做镜像

1. pull一个centos6.6的基础镜像,并运行一个docker container,然后在其中进行定制化(安装、配置服务等);

[root@localhost ~]# docker pull centos:6.6Pulling repository centos8b44529354f3: Download completef1b10cd84249: Download completeStatus: Downloaded newer image for centos:6.6[root@localhost ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZEcentos              6.6                 8b44529354f3        4 days ago          202.6 MBcentos              centos6.6           8b44529354f3        4 days ago          202.6 MB[root@localhost ~]# docker run -i -t centos:6.6 bash[root@b42c1ba929a9 /]# lsbin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var[root@b42c1ba929a9 /]# mkdir /tmp/test.txt[root@b42c1ba929a9 /]# exitexit

接下来,查看一下container的改动:

[root@localhost ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                      PORTS               NAMESb42c1ba929a9        centos:6.6          "bash"              About a minute ago   Exited (0) 22 seconds ago                       berserk_mcclintock804a56ce8008        f1b10cd84249        "/bin/echo hello"   22 minutes ago                                                       test[root@localhost ~]# docker diff b42c1ba929a9C /tmpA /tmp/test.txtC /rootA /root/.bash_history

2. 执行docker commit命令创建一个镜像:

[root@localhost ~]# docker commit -m "new container" b42c1ba929a9 yuanhuan/newcontainer107b146e0be9e98c253122784c3837dd1604f7692e794f3601dad747d41901cd4[root@localhost ~]# docker imagesREPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZEyuanhuan/newcontainer1   latest              07b146e0be9e        43 seconds ago      202.6 MBcentos                   6.6                 8b44529354f3        4 days ago          202.6 MBcentos                   centos6.6           8b44529354f3        4 days ago          202.6 MB

3. 登录docker,并将该镜像push到docker仓库:

[root@localhost ~]# docker loginUsername: yuanhuanPassword:Email: yuanhuan_2005@126.comLogin Succeeded[root@localhost ~]# docker push yuanhuan/newcontainer1The push refers to a repository [yuanhuan/newcontainer1] (len: 1)Sending image listPushing repository yuanhuan/newcontainer1 (1 tags)f1b10cd84249: Image already pushed, skipping8b44529354f3: Image already pushed, skipping07b146e0be9e: Image successfully pushedPushing tag for rev [07b146e0be9e] on {https://cdn-registry-1.docker.io/v1/repositories/yuanhuan/newcontainer1/tags/latest}

关于docker将容器做出镜像的代码就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

0