创建仓库:

docker run -d -p 5000:5000 -v /root/registry:/data/docker registry:2

将仓库存放于容器内的/data/docker目录下,如果容器被删除,镜像也会丢失,指定本地一个目录/root/registry挂载到容器内的/tmp/registry下.

registry:2 起一个镜像名

制作镜像:

docker commit 449d0022bafa 172.17.0.3:5000/linuxws

 

docker run -i -d -p 1880:80 -p 13306:3306 -p 122:22 -p 123:23 -p69:69/udp -p 514:514/tcp -v /Users/apple/znms/03_code/trunk/z-nms:/var/www/html/z-nms -e "REMOTE_HOST=调试ip地址" --restart=always znms:v1

 

 

docker images : 列出本地镜像。

格式:docker images [OPTIONS] [REPOSITORY[:TAG]]
-a :    列出本地所有镜像
--digests: 显示镜像的摘要。显示DIGEST
-f :     显示满足条件的镜像
--no-trunc: 显示IMAGE ID
-q:     只显示镜像ID

docker rmi : 删除本地一个或多个镜像。  #格式:docker rmi [OPTIONS] IMAGE [IMAGE...]
 -f :强制删除;
--no-prune :不移除该镜像的过程镜像,默认移除;

docker tag : 标记本地镜像,将其归入某一仓库。
  格式:docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]

commit --通过容器创建本地镜像 生成镜像的命名:docker commit centos_v1 centos:v1

#docker push victor/centos:v1,其中ivictor是用户名;v1是tag,可不写,默认是latest

因为它push到docker hub中时,推送到相应用户下,必须指定用户名。

 

将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像。

docker tag ubuntu:15.10 runoob/ubuntu:v3
root@runoob:~# docker images   runoob/ubuntu:v3
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
runoob/ubuntu       v3                  4e3b13c8a266        3 months ago        136.3 MB

虚悬镜像:

镜像列表中,有一个特殊的镜像,这个镜像没有仓库名,没有标签,均为 <none> :

<none> <none> 00285df0df87 5 days ago 342 MB

官方发布了新版本后,新旧镜像同名,从而出现仓库名、标签均为 <none> 的镜像。docker build 也会导致这种现象。

显示这类镜像:

docker images -f dangling=true

虚悬镜像没有用处,可以删除:$ docker rmi $(docker images -q -f dangling=true)

 

中间层镜像

$ docker images -a  #显示包括中间层镜像和顶级镜像。

这样会看到很多无标签的镜像,与虚悬镜像不同,这些镜像都是其它镜像所依赖的镜像。这些无标签镜像不应该删除,否则会导致上层镜像因为依赖丢失而出错。实际上,这些镜像也没必要删除,因为相同的层只会存一遍,而这些镜像是别的镜像的依赖,因此并不会因为它们被列出来而多存了一份。只要删除那些依赖它们的镜像后,这些依赖的中间层镜像也会被连带删除。

制作镜像:

sudo docker commit -m='A new image' --author='Aomine' 614122c0aabb aoct/apache2

-m指定行创建的镜像的提交信息。--author指定镜像作者,接着是容器ID、目标镜像仓库、镜像名。

posted on 2018-01-17 00:10  Sharpest  阅读(105)  评论(0编辑  收藏  举报