docker提交以及命名空间

[toc]

commit

**docker commit **:从容器创建一个新的镜像。

语法

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

OPTIONS说明:

  • -a 提交的镜像作者;

  • -c 使用Dockerfile指令来创建镜像;

  • -m 提交时的说明文字;

  • -pcommit时,将容器暂停。

实例 – 在Ubuntu中安装vim

docker exec -it abce9bcaf87c /bin/bash
apt-get update
apt-get install -y vim

此时可以使用vim命令了

此时我们可以理解分层的好处了,就是共享资源,方便复制迁移,就是为了复用

多个镜像都从相同的镜像base镜像架构而来,那么docker host只需要在磁盘上保存一份base镜像,而且内存中每一层镜像都可以被共享。

docker commit -m="vim cmd add ok" -a="nsddd" 08d1e4ac02f2  smile/myubuntu:版本号

image-20220510211036779

docker中镜像分层,支持通过扩展现有镜像,创建新的镜像,类似于java继承与一个base基础类,自己再按需扩展,新的镜像就是从base镜像一层层的叠加生成的,每安装一个软件,就在现有的镜像的基础上增加一层镜像。

将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。

runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1 
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
runoob@runoob:~$ docker images mymysql:v1
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mymysql             v1                  37af1236adef        15 seconds ago      329 MB

命名空间

因为如果我们使用hub.docker 的话可能访问太慢了。所以选择hub可能不是很明治的选择,所以使用aliyun是一个很好的选择。

image-20220510210523765

添加个人仓库

image-20220510210831886

注意欸,要在下面的访问凭证设置密码

完整的阿里云推送和拉取过程

关键过程

docker ps
docker commit -m="vim cmd add ok" -a="nsddd" 08d1e4ac02f2  smile/myubuntu
docker images
docker login --username=3293172751nss registry.cn-hangzhou.aliyuncs.com
docker tag 6962da3091d1 registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu
docker push registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu
docker rmi -f 6962da3091d1
docker images
docker rmi -f ba6acccedd29   4b9109b3e917 c717164f2c33  717164f2c33
docker pull registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu
docker images

全过程

root@ubuntu:/# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS      NAMES
08d1e4ac02f2   ubuntu    "bash"                   18 minutes ago   Up 18 minutes              cranky_babbage
a22dd4f7caf4   redis     "docker-entrypoint.s…"   24 hours ago     Up 24 hours     6379/tcp   strange_elgamal
root@ubuntu:/# ls
bin   c      chain  docker  home              lib    lib64   lost+found  mnt    opt   proc  run   snap  swapfile  tmp  var
boot  cdrom  dev    etc     hyerledgerFabric  lib32  libx32  media       nginx  pbft  root  sbin  srv   sys       usr  vpn
root@ubuntu:/# docker commit -m="vim cmd add ok" -a="nsddd" 08d1e4ac02f2  smile/myubuntu
sha256:6962da3091d10456d52b8771f35d94dc01520e1ec661103438c77d6bb87d5d6f
root@ubuntu:/# docker images
REPOSITORY       TAG       IMAGE ID       CREATED          SIZE
smile/myubuntu   latest    6962da3091d1   20 seconds ago   108MB
smile/ubuntu     3.7       4b9109b3e917   23 hours ago     0B
<none>           <none>    c717164f2c33   23 hours ago     0B
smile/ubuntu     1         ebc64f915192   23 hours ago     0B
tomcat           latest    fb5657adc892   4 months ago     680MB
redis            latest    7614ae9453d1   4 months ago     113MB
python           latest    a5d7930b60cc   4 months ago     917MB
ubuntu           latest    ba6acccedd29   6 months ago     72.8MB
root@ubuntu:/# docker login --username=3293172751nss registry.cn-hangzhou.aliyuncs.com
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
root@ubuntu:/# docker tag 6962da3091d1 registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu
root@ubuntu:/# docker push registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu
Using default tag: latest
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu]
57fc73d61f9a: Pushed 
9f54eef41275: Pushed latest: digest: sha256:08bb12c0c5d3a3449c3b1e06381a2eb9e3e43bc252237b4ba5e79f917adbcd6b size: 741
root@ubuntu:/# docker rmi -f 6962da3091d1
Untagged: smile/myubuntu:latest
Untagged: registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu:latest
Untagged: registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu@sha256:08bb12c0c5d3a3449c3b1e06381a2eb9e3e43bc252237b4ba5e79f917adbcd6b
Deleted: sha256:6962da3091d10456d52b8771f35d94dc01520e1ec661103438c77d6bb87d5d6f
Deleted: sha256:d442f4d51ca04c56cec20bc9dfda5e7ceb7e227145fe7cbfe89fafd36e022fc0
root@ubuntu:/# docker images
REPOSITORY     TAG       IMAGE ID       CREATED        SIZE
smile/ubuntu   3.7       4b9109b3e917   24 hours ago   0B
<none>         <none>    c717164f2c33   24 hours ago   0B
smile/ubuntu   1         ebc64f915192   24 hours ago   0B
tomcat         latest    fb5657adc892   4 months ago   680MB
redis          latest    7614ae9453d1   4 months ago   113MB
python         latest    a5d7930b60cc   4 months ago   917MB
ubuntu         latest    ba6acccedd29   6 months ago   72.8MB
root@ubuntu:/# docker rmi -f ba6acccedd29   4b9109b3e917 c717164f2c33  717164f2c33 
Untagged: smile/ubuntu:3.7
Deleted: sha256:4b9109b3e9172fbbfc797578772925f78bcb0007cf9c5204ee9e3820075284c2
Deleted: sha256:c717164f2c33d6edea7055110293bb2f65c1bb5ba97b5a43b9c9202d312b5942
Error response from daemon: conflict: unable to delete ba6acccedd29 (cannot be forced) - image is being used by running container 08d1e4ac02f2
Error: No such image: 717164f2c33
root@ubuntu:/# docker images
REPOSITORY     TAG       IMAGE ID       CREATED        SIZE
smile/ubuntu   1         ebc64f915192   24 hours ago   0B
tomcat         latest    fb5657adc892   4 months ago   680MB
redis          latest    7614ae9453d1   4 months ago   113MB
python         latest    a5d7930b60cc   4 months ago   917MB
ubuntu         latest    ba6acccedd29   6 months ago   72.8MB
root@ubuntu:/# docker pull registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu
Using default tag: latest
latest: Pulling from nsddd/myubuntu
7b1a6ab2e44d: Already exists 
bc5f4eb531d0: Pull complete 
Digest: sha256:08bb12c0c5d3a3449c3b1e06381a2eb9e3e43bc252237b4ba5e79f917adbcd6b
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu:latest
registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu:latest
root@ubuntu:/# docker images
REPOSITORY                                         TAG       IMAGE ID       CREATED          SIZE
registry.cn-hangzhou.aliyuncs.com/nsddd/myubuntu   latest    6962da3091d1   12 minutes ago   108MB
smile/ubuntu                                       1         ebc64f915192   24 hours ago     0B
tomcat                                             latest    fb5657adc892   4 months ago     680MB
redis                                              latest    7614ae9453d1   4 months ago     113MB
python                                             latest    a5d7930b60cc   4 months ago     917MB
ubuntu                                             latest    ba6acccedd29   6 months ago     72.8MB