• 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命令来构建
     
     
     
     
  • 相关阅读:
    在django中怎么解决没有MySQLdb库的问题
    py下windows用户安装lxml
    发现一个强大的可视化第三方库pyecharts
    failed to create process怎么解决
    做透视表时,提示“数据源引用无效”
    用户运营招聘分析报告
    如何修改启动jupyter的文件路径
    如何卸载EXCEL中的插件?
    解决python3环境下twisted安装问题
    解决python多版本共存问题
  • 原文地址:https://www.cnblogs.com/duyachao/p/11100635.html
Copyright © 2020-2023  润新知