docker 镜像管理

1.拉取镜像
1.1从官方镜像上拉取一个14.04标签的镜像ubuntu
1.2    如何从私有仓库quay.io上拉取一个latest标签的镜像flannel
 
 
 
2.搜索镜像
2.1 进官网搜索 https://hub.docker.com
2.2 在终端通过docker命令搜索
docker search [OPTIONS] TERM
OPTIONS说明:
--no-trunc=false 是否截断
--limit int 搜索的最多结果数,最多25个
--filter=stars=最低收藏数 限定显示结果的最低收藏数
-s :列出收藏数不小于指定值的镜像
如何从Docker Hub查找所有镜像名包含ubuntu,并且收藏数大于20的镜像
 
 
3.查看镜像
3.1  Docker images,查看本地存储的镜像的仓库名称、标签、ID号、创建时间和大小等简单信息。命令格式如下:
Docker images [options] [REPOSITORY]
-a, --all=fase 显示所有镜像
-f,--filter=[ ]过滤参数
--no-trunc=false 是否截断
-q, --quiet=false 显示镜像的唯一ID
要求:1.列出包含中间层的所有镜像
2.列出所有镜像,并且可以看到完整的ID
3.2Docker inspect,查看镜像的详细信息,包含制作者、适应架构和各层的数字摘要等。
要求 .① 查看ubuntu镜像的详细信息
 
② 通过-f参数可以快速定位,查看ubuntu镜像的创建时间
4,导出和导入镜像
举例说明,如何把镜像ubuntu:14.04从电脑A传输到电脑B?
此时A机当前文件夹下的ubuntu14.tar 拷贝到另一台已经安装过docker的B机上,在B机上导入镜像:
docker load --input ./ubuntu14.tar
这样镜像ubuntu:14.04 就成功从A机复制到B机上了
 
5.发布镜像
  1. 如何把一个镜像发布到docker hub中?请举例说明。
  2. 假如在docker hub上,现有用户名为username,但是想要推送一个叫做user/image的镜像到docker hub上,怎么办?
 
 
 
 
6.删除镜像
分别用两种不同的方法删除本地镜像?说明两种方法的不同之处!
 
如何删除本地的所有镜像?
1:停用全部运行中的容器
docker stop $(docker ps -q)
2:删除全部容器
docker rm$(docker ps -aq)
3.一条命令实现停用并删除容器
docker stop $(docker ps -q)& docker rm $(docker ps -aq)
如果想要删除一个镜像,但是有容器正在使用它,该如何处理?
 
删除所有已退出的容器
docker rm $(docker ps -q -f status=exited)
删除所有已停止的容器
docker rm $(docker ps -a -q)
删除所有正在运行和已停止的容器
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
删除所有容器,没有任何标准
docker container rm $(docker container ps -aq)
 
7.查看镜像历史
8.通过已有镜像ubuntu:14.04启动一个容器,在容器中安装nginx,用docker commit 命令提交新容器为镜像.
相关命令如下:
Docker commit [options] container [REPOSITORY[:TAG]]
 -a ,--author作者
-m, --message 镜像信息
-p, --pause 提交时候暂停容器的运行
过程:
  1.   使用镜像ubuntu:14.04来启动一个交互式容器commit_test
docker run -it -p 80 --name commit_test ubuntu:14.04 /bin/bash
2.在容器内更新apt库,并且安装nginx
apt-get update
apt-get install -y nginx
安装完成后 CTRL+D 或者exit 退出容器
3.输入命令docker ps -l 看刚创建的容器
4.     把容器commit_test提交为镜像catherine2005/commit_image1,设置镜像作者为catherine,提交修改的内容为nginx
docker commit -a ‘catherine’ -m ‘nginx’ commit_test catherine2005/commit_image1
5.查看刚刚创建的镜像信息
docker images
6. 使用刚刚创建的镜像catherine2005/commit_image1启动一个容器nginx_web1
docker run -d --name  nginx_web1 catherine2005/commit_image nginx -g “daemon off”;
删除此容器
7.查看新创建的容器
docker ps
8.   使用刚刚创建的镜像catherine2005/commit_image1启动一个容器nginx_web2
 
docker run -d --name nginx_web2 -p 80 catherine2005/commit_image1 nginx -g "daemon off;"
9.再次查看容器
docker ps
此时可以看到nginx_web2 映射端口 32771->80
10.使用命令查看index.html网站
或者在浏览器上直接输入http://127.0.0.1:32771 就可以看到index.html网站
9.     如何通过新建一个Dockerfile文件来构建一个和题目8一样的新镜像?
主要分为两步
  1. 创建一个dockerfile文件
  2. 使用docker build命令来构建
 
 
 
 
原文地址:https://www.cnblogs.com/duyachao/p/11100635.html