容器提交镜像(docker commit)
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:v1
sha256:6ce4aedd12cda693d0bbb857cc443a56f9f569106e09ec61aa53563d0932ea4d
再次查看镜像,发现镜像myubuntu:v1已经提交到本地了
[root@docker-test1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myubuntu v1 6ce4aedd12cd 59 seconds ago 84.1 MB
docker.io/ubuntu 16.04 7aa3602ab41e 5 weeks ago 115 MB
在容器内,修改内容,然后commit,要想本次修改起作用,则需要将原来的container kill掉,然后再restart这个容器,此时,容器内的修改会生效。
(bert) [dev@new bert_lm_embedding]$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c8dec5aac58a 519a6bf9e73e "bash run.sh" 43 minutes ago Up 38 minutes feed_bert_embed
ec4ed75c43bc 79a1d5e2d5fc "bash run.sh" 5 hours ago Up 4 hours feed_bert_embedding
(bert) [dev@new bert_lm_embedding]$ docker commit -m '512' ec4ed75c43bc feed_bert_embedding:v1
sha256:4c97c9502933daa1bab5cc32201d8e6018ebf94ef4c700793b8bd35bcb0f67c6
(bert) [dev@new bert_lm_embedding]$ docker kill ec4ed75c43bc
ec4ed75c43bc
(bert) [dev@new bert_lm_embedding]$ docker restart ec4ed75c43bc
推送镜像(docker push)
docker tag : 标记本地镜像,将其归入某一仓库。
语法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
实例
将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像。
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
语法
docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:
--disable-content-trust :忽略镜像的校验,默认开启
实例
上传本地镜像myapache:v1到镜像仓库中。
docker push myapache:v1 # image名字myapache,v1是版本
(bert) [op_dev@kvm embedding]$ docker tag feed_bert_embedding:v1 wang/bert:v1
(bert) [op_dev@kvm embedding]$ docker push wang/bert:v1
The push refers to repository [docker.io/wang/bert]
5e676388372d: Pushed
a9fa446c2078: Pushed
734a1ceb3325: Pushed
72d6393d0b3d: Pushed
2d1a01b63fa5: Pushed
0a96ee62e92b: Pushed
e45fc30c925f: Pushed
4e98de5c919d: Pushed
1cfe9123d5ee: Pushed
1e0dcce887d8: Pushed
9106a3e17ffe: Pushed
5dd3dbb79d18: Pushed
89169d87dbe2: Pushed
v1: digest: sha256:24858c88047e81ca2f9435379de063e7f2fb9ef16e0650b1160a5cd864d0f5dc size: 3069
拉镜像(docker pull)
docker pull : 从镜像仓库中拉取或者更新指定镜像
语法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS说明:
-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启
例子:
# kvm:5000/feed_bert_embedding 这是镜像的名字
# v1是版本
$ docker pull kvm:5000/feed_bert_embedding:v1
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kvm:5000/feed_bert_embedding v1 a694755d292d 2 months ago 4.98GB