1.3 Docker 基于已有镜像的容器创建镜像

2018-05-09

1.3 Docker 基于已有镜像的容器创建镜像

 运行 docker run 后,进入到该容器中,我们做一些变更,比如安装一些东西,然后针对这个容器进行创建新的镜像

 把已经退出的容器启动起来

root@ubuntu:~# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES

81678fc4d6c7        ubuntu:latest       "/bin/bash"         35 minutes ago      Exited (0) 32 minutes ago                       happy_newton

root@ubuntu:~# docker start 816

816

root@ubuntu:~# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

81678fc4d6c7        ubuntu:latest       "/bin/bash"         36 minutes ago      Up 6 seconds                            happy_newton

 进入这个已经启动的容器

root@ubuntu:~# docker exec -it 816 /bin/bash

root@81678fc4d6c7:/#

root@81678fc4d6c7:/# apt-get install -y net-tools

root@81678fc4d6c7:/# apt-get install -y wget

 查看网卡信息

root@81678fc4d6c7:/# ifconfig

eth0      Link encap:Ethernet  HWaddr 02:42:c0:a8:2a:03

          inet addr:192.168.42.3  Bcast:0.0.0.0  Mask:255.255.255.0

          inet6 addr: fe80::42:c0ff:fea8:2a03/64 Scope:Link

          UP BROADCAST RUNNING  MTU:1500  Metric:1

          RX packets:18287 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1814 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:27632961 (27.6 MB)  TX bytes:125274 (125.2 KB)



lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 创建新镜像

 docker commit -m “change somth” -a “somebody info” container_id new_name (id 可以通过 docker ps -a 获得)

root@ubuntu:~# docker commit -m "ubuntu_with_nettools_and_wget" -a "user1" 81678fc4d6c7 ubuntu_with_net

45d4c91e72cee9b9fc9b2b3f05542e33b96631fefea115fbf62ae2b827a27952

root@ubuntu:~# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE

ubuntu_with_net     latest              45d4c91e72ce        About a minute ago   176.7 MB

ubuntu              v1                  ac8b2a2b477b        37 hours ago         125.2 MB

test1               latest              ac8b2a2b477b        37 hours ago         125.2 MB

test1               v1.0                ac8b2a2b477b        37 hours ago         125.2 MB

 这个命令有些像 SVN 的提交,-m 加一些改动信息,-a 指定作者相关信息,816 这一串为容器 ID,再后面为新镜像的名字。


标题:1.3 Docker 基于已有镜像的容器创建镜像
作者:散宜生
地址:https://17kblog.com/articles/2018/05/09/1525864976832.html