• docker 镜像相关命令使用


    一,使用docker镜像

    docker镜像是docker中三大概念之一,其主要作用是作为启动容器的模板。

    二,获取docker镜像

    镜像是运行容器的模板,官方Docker Hub 仓库已经提供了许多镜像共开发者使用。如果我们需要获取某个镜像则可以去docker仓库下载所需的镜像。
    下载镜像的格式:docker pull [仓库的URL]/[名称空间]/[仓库的名称]:[版本号]
    默认情况下:镜像URL是:docker.io, 命名空间名称:library
    下载镜像实例:

    # 下载官方最新版本的nginx
    [root@linux10 /etc/docker]# docker pull nginx 
    Using default tag: latest
    latest: Pulling from library/nginx
    6ec7b7d162b2: Already exists 
    cb420a90068e: Already exists 
    2766c0bf2b07: Already exists 
    e05167b6a99d: Already exists 
    70ac9d795e79: Already exists 
    Digest: sha256:4cf620a5c81390ee209398ecc18e5fb9dd0f5155cd82adcbae532fec94006fb9
    Status: Downloaded newer image for nginx:latest
    docker.io/library/nginx:latest
    

    三,查看镜像列表

    [root@docker ~]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
    nginx        latest    ae2feff98a0c   3 weeks ago   133MB
    
    docker image ls == docker images
    
    相关参数:
          -a : 列出系统临时镜像文件
          --digests : 列出系统镜像摘要
          -q : 只显示镜像ID
    

    四,查看镜像详细信息

    格式:
          docker inspect [镜像名称]:[版本号] | [镜像ID]
    [root@docker ~]# docker inspect nginx:latest 
    [
        {
            "Id": "sha256:ae2feff98a0cc5095d97c6c283dcd33090770c76d63877caa99aefbbe4343bdd",
            "RepoTags": [
                "nginx:latest
    ......
    

    五,给镜像设置标签tag

    格式
    	docker tag [镜像ID] [别名]:[版本号]
    
    [root@docker ~]# docker tag nginx:latest mynginx:v1
    [root@docker ~]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
    mynginx      v1        ae2feff98a0c   3 weeks ago   133MB
    nginx        latest    ae2feff98a0c   3 weeks ago   133MB
    
    # 给镜像设置标签后会单独生成一个镜像ID不变
    

    六,查看镜像构建历史

    格式:
    	docker history [镜像名称或ID]
    
    [root@docker ~]# docker history mynginx:v1 
    IMAGE          CREATED       CREATED BY                                      SIZE      COMMENT
    ae2feff98a0c   3 weeks ago   /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B        
    <missing>      3 weeks ago   /bin/sh -c #(nop)  STOPSIGNAL SIGQUIT           0B        
    <missing>      3 weeks ago   /bin/sh -c #(nop)  EXPOSE 80                    0B        
    <missing>      3 weeks ago   /bin/sh -c #(nop)  ENTRYPOINT ["/docker-entr…   0B
    ......
    
    # 镜像构建步骤从上往下看cmd参数是启动镜像后要执行的命令
    # 注意:有些构建信息过长,可以使用--no-trunc 选项来输出完整信息。
    

    七,搜索镜像

    格式:
    	docker search [参数] [镜像名称]
    
    [root@docker ~]# docker search nginx 
    NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    nginx                              Official build of Nginx.                        14284     [OK]       
    jwilder/nginx-proxy                Automated Nginx reverse proxy for docker con…   1940                 [OK]
    richarvey/nginx-php-fpm            Container running Nginx + PHP-FPM capable of…   799                  [OK]
    ......
    
    解释:
    NAME : 镜像名称
    DESCRIPTION : 镜像简介
    STARS : 收藏数
    OFFICIAL : 是否是官方镜像
    AUTOMATED : 是否是自构建镜像
    
    参数:
    -f: 过滤 is-official=true
    --no-trunc : 不截断输出
    --limit : 设置查询的条数
    

    八,删除镜像

    格式:
    	docker rmi [镜像名称或ID]
    
    [root@docker ~]# docker rmi mynginx:v1 
    Untagged: mynginx:v1
    
    参数:
    -f : 强制删除镜像
    
    

    九,清理镜像

    格式:
    	docker image prune [参数]
    
    [root@docker ~]# docker image prune 
    WARNING! This will remove all dangling images.
    Are you sure you want to continue? [y/N] y
    Total reclaimed space: 0B
    
    参数:
    -a : 删除所有未被使用的镜像
    -f : 是否需要提示
    
    

    十,保存镜像(容器)

    commit保存镜像针对的是保存容器。
    
    格式:
    	docker commit [参数] [容器ID] [镜像名称:版本号]
    
    [root@docker ~]# docker ps
    CONTAINER ID   IMAGE     COMMAND                  CREATED              STATUS              PORTS                NAMES
    53126ffa7452   nginx     "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp   nginx
    [root@docker ~]# docker commit  -m '这是一个nginx容器' -a 'xiaoma' -p 53126ffa7452
    sha256:51fa2e15eb5bdc5b5b4b82b76f502b5656a2949e0f2ab9c14d458688ebf4df10
    
    参数:
    -m : 简介信息
    -a : 指定作者
    -p : 保存镜像时,镜像暂停运行(挂起)
    

    十一,镜像的导入与导出(容器)

    # 使用export把容器导出
    格式:
    	docker export [容器名称] > [压缩包名称]
    # 使用 docker export 命令不会压缩容器大小
    
    [root@docker ~]# docker ps
    CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                NAMES
    53126ffa7452   nginx     "/docker-entrypoint.…"   7 minutes ago   Up 7 minutes   0.0.0.0:80->80/tcp   nginx
    [root@docker ~]# docker export nginx > nginx.tar
    参数:
    -o:指定目标文件位置和名称 导入的是字符串的写入而不是标准输出
    
    
    
    # 使用import导入容器
    格式:
    	docker import [压缩包名称] [镜像名称]
    # 该命令与 docker export命令相对,用于导入容器,导入后变成镜像
    
    [root@docker ~]# docker import /root/nginx.tar 
    sha256:8723ba528ff7b67ef8f80ab107c270cd6839cc991fa58d3cf986c85dd01aeb8d
    [root@docker ~]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
    <none>       <none>    8723ba528ff7   3 seconds ago   131MB
    
    

    十一,镜像的导入与导出(镜像)

    # 使用save保存镜像
    # 针对的是镜像
    save
    格式:
    	docker save [镜像ID...] > [压缩包名称]
    # 注:使用镜像ID保存镜像时,导入时没有名称
    [root@docker ~]# docker save ae2feff98a0c > nginx_iso.tar
    
    
    # 使用load导入进行
    格式:
    	docker load < [压缩包名称]
    
    [root@docker ~]# docker load < nginx.tar 
    Loaded image: nginx:latest
    

    十二,两种保存方式的区别

        1、针对的对象不一样(export和import针对的是容器,save和load针对的是镜像)
        2、save是完全保存, export是部分保存
        3、save保存的体积稍微大一些
        4、save保存的是原生的镜像,export保存成一个新的镜像
        5、save保存无法修改名称,export可以修改名称
        6、save可以同时保存多个镜像,export不可以同时保存多个容器
        7、save应用场景在部署或者需要追溯的场景中,export应用场景在作为基础镜像时使用
    
    
  • 相关阅读:
    无缝世界场景加载的解决方案研究
    3D物体绘制不见
    dx sdk中关于常用dx api的performace性能参数
    OpenGL/DirectX渲染技巧集
    每天送你一個simle
    [原创] 一种页面数据错误输入提示方法
    [原创] ASP.NET 中如何弹出提示窗口然后导向另外一个页面
    [原创] 部署含有ReportView的控件的ASPX页面时出现错误
    公布一个简单的日志记录方法
    [原创] 如何在没有ASP.NET AjaxEnabled Web Site 向导的情况下加入Ajax支持
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/14264178.html
Copyright © 2020-2023  润新知