• docker镜像命令


    docker镜像命令

    镜像仓库

    Docker login/logout 命令


    docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

    docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

    语法

    docker login [OPTIONS] [SERVER]
    docker logout [OPTIONS] [SERVER]
    
    • 1
    • 2

    OPTIONS说明:

    • -u : 登陆的用户名
    • -p : 登陆的密码

    实例

    登陆到Docker Hub

    docker login -u 用户名 -p 密码
    
    • 1

    登出Docker Hub

    docker logout
    
    • 1

    Docker pull 命令

    docker pull : 从镜像仓库中拉取或者更新指定镜像

    语法

    docker pull [OPTIONS] NAME[:TAG|@DIGEST]
    
    • 1

    OPTIONS说明:

    • -a : 拉取所有 tagged 镜像
    • –disable-content-trust : 忽略镜像的校验,默认开启

    实例

    从Docker Hub下载java最新版镜像。

    docker pull java
    
    • 1

    从Docker Hub下载REPOSITORY为java的所有镜像。

    docker pull -a java
    
    • 1

    Docker push 命令

    docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

    语法

    docker push [OPTIONS] NAME[:TAG]
    
    • 1

    OPTIONS说明:

    • –disable-content-trust : 忽略镜像的校验,默认开启

    实例

    上传本地镜像myapache:v1到镜像仓库中。

    docker push myapache:v1
    
    • 1

    Docker search 命令

    docker search : 从Docker Hub查找镜像(一般使用-f筛选)

    语法

    docker search [OPTIONS] TERM
    
    • 1

    OPTIONS说明:

    • –automated : 只列出 automated build类型的镜像;
    • –no-trunc : 显示完整的镜像描述;
    • -f <过滤条件>: 列出收藏数不小于指定值的镜像。

    实例

    从 Docker Hub 查找所有镜像名包含 java,并且收藏数大于 10 的镜像

    runoob@runoob:~$ docker search -f stars=10 java
    NAME                  DESCRIPTION                           STARS   OFFICIAL   AUTOMATED
    java                  Java is a concurrent, class-based...   1037    [OK]       
    anapsix/alpine-java   Oracle Java 8 (and 7) with GLIBC ...   115                [OK]
    develar/java                                                 46                 [OK]
    isuper/java-oracle    This repository contains all java...   38                 [OK]
    lwieske/java-8        Oracle Java 8 Container - Full + ...   27                 [OK]
    nimmis/java-centos    This is docker images of CentOS 7...   13                 [OK]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    参数说明:

    NAME: 镜像仓库源的名称

    DESCRIPTION: 镜像的描述

    OFFICIAL: 是否 docker 官方发布

    stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

    AUTOMATED: 自动构建。

    smile@ubuntu:~$ sudo docker search -f stars=1 --limit 5 redis
    NAME                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    redis                    Redis is an open source key-value store that…   10891     [OK]       
    bitnami/redis            Bitnami Redis Docker Image                      214                  [OK]
    bitnami/redis-sentinel   Bitnami Docker Image for Redis Sentinel         36                   [OK]
    circleci/redis           CircleCI images for Redis                       12                   [OK]
    bitnami/redis-exporter 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    本地镜像

    Docker images 命令

    docker images : 列出本地镜像。

    语法

    docker images [OPTIONS] [REPOSITORY[:TAG]]
    
    • 1

    OPTIONS说明:

    • -a : 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
    • –digests : 显示镜像的摘要信息;
    • -f : 显示满足条件的镜像;
    • –format : 指定返回值的模板文件;
    • –no-trunc : 显示完整的镜像信息;
    • -q : 只显示镜像ID。

    实例

    查看本地镜像列表。

    • pepository:仓库
    • tag:标签
    • image id:镜像id(使用hash,是唯一的)
    • created:时间
    • size:镜像大小
    runoob@runoob:~$ docker images
    REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
    mymysql                 v1                  37af1236adef        5 minutes ago       329 MB
    runoob/ubuntu           v4                  1c06aa18edee        2 days ago          142.1 MB
    <none>                  <none>              5c6e1090e771        2 days ago          165.9 MB
    httpd                   latest              ed38aaffef30        11 days ago         195.1 MB
    alpine                  latest              4e38e38c8ce0        2 weeks ago         4.799 MB
    mongo                   3.2                 282fd552add6        3 weeks ago         336.1 MB
    redis                   latest              4465e4bcad80        3 weeks ago         185.7 MB
    php                     5.6-fpm             025041cd3aa5        3 weeks ago         456.3 MB
    python                  3.5                 045767ddf24a        3 weeks ago         684.1 MB
    ...
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    列出本地镜像中REPOSITORY为ubuntu的镜像列表。

    root@runoob:~# docker images  ubuntu
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    ubuntu              14.04               90d5884b1ee0        9 weeks ago         188 MB
    ubuntu              15.10               4e3b13c8a266        3 months ago        136.3 MB
    
    • 1
    • 2
    • 3
    • 4

    同一仓库源(mysql5.6\5.7)可以有多个tag版本,代表这个仓库源的不同个版本,我们使用repository:tag来定义不同的镜像

    Docker rmi 命令


    docker rmi : 删除本地一个或多个镜像。

    语法

    docker rmi [OPTIONS] IMAGE [IMAGE...]
    
    • 1

    OPTIONS说明:

    • -f : 强制删除;
    • –no-prune : 不移除该镜像的过程镜像,默认移除;

    实例

    强制删除本地镜像 runoob/ubuntu:v4。

    root@runoob:~# docker rmi -f runoob/ubuntu:v4
    Untagged: runoob/ubuntu:v4
    Deleted: sha256:1c06aa18edee44230f93a90a7d88139235de12cd4c089d41eed8419b503072be
    Deleted: sha256:85feb446e89a28d58ee7d80ea5ce367eebb7cec70f0ec18aa4faa874cbd97c73
    
    • 1
    • 2
    • 3
    • 4

    Docker tag 命令


    docker tag : 标记本地镜像,将其归入某一仓库。

    语法

    docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
    
    • 1

    实例

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

    root@runoob:~# 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
    
    • 1
    • 2
    • 3
    • 4

    Docker build 命令

    docker build 命令用于使用 Dockerfile 创建镜像。

    语法

    docker build [OPTIONS] PATH | URL | -
    
    • 1

    OPTIONS说明:

    • –build-arg=[] : 设置镜像创建时的变量;
    • –cpu-shares : 设置 cpu 使用权重;
    • –cpu-period : 限制 CPU CFS周期;
    • –cpu-quota : 限制 CPU CFS配额;
    • –cpuset-cpus : 指定使用的CPU id;
    • –cpuset-mems : 指定使用的内存 id;
    • –disable-content-trust : 忽略校验,默认开启;
    • -f : 指定要使用的Dockerfile路径;
    • –force-rm : 设置镜像过程中删除中间容器;
    • –isolation : 使用容器隔离技术;
    • –label=[] : 设置镜像使用的元数据;
    • -m : 设置内存最大值;
    • –memory-swap : 设置Swap的最大值为内存+swap,"-1"表示不限swap;
    • –no-cache : 创建镜像的过程不使用缓存;
    • –pull : 尝试去更新镜像的新版本;
    • –quiet, -q : 安静模式,成功后只输出镜像 ID;
    • –rm : 设置镜像成功后删除中间容器;
    • –shm-size : 设置/dev/shm的大小,默认值是64M;
    • –ulimit : Ulimit配置。
    • –squash : 将 Dockerfile 中所有的操作压缩为一层。
    • –tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
    • –network: 默认 default。在构建期间设置RUN指令的网络模式

    实例

    使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1。

    docker build -t runoob/ubuntu:v1 . 
    
    • 1

    使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。

    docker build github.com/creack/docker-firefox
    
    • 1

    也可以通过 -f Dockerfile 文件的位置:

    $ docker build -f /path/to/a/Dockerfile .
    
    • 1

    在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回:

    $ docker build -t test/myapp .
    Sending build context to Docker daemon 2.048 kB
    Error response from daemon: Unknown instruction: RUNCMD
    
    • 1
    • 2
    • 3

    Docker history 命令


    docker history : 查看指定镜像的创建历史。

    语法

    docker history [OPTIONS] IMAGE
    
    • 1

    OPTIONS说明:

    • -H : 以可读的格式打印镜像大小和日期,默认为true;
    • –no-trunc : 显示完整的提交记录;
    • -q : 仅列出提交记录ID。

    实例

    查看本地镜像runoob/ubuntu:v3的创建历史。

    root@runoob:~# docker history runoob/ubuntu:v3
    IMAGE             CREATED           CREATED BY                                      SIZE      COMMENT
    4e3b13c8a266      3 months ago      /bin/sh -c #(nop) CMD ["/bin/bash"]             0 B                 
             3 months ago      /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/   1.863 kB            
             3 months ago      /bin/sh -c set -xe   && echo '#!/bin/sh' > /u   701 B               
             3 months ago      /bin/sh -c #(nop) ADD file:43cb048516c6b80f22   136.3 MB
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Docker save 命令

    docker save : 将指定镜像保存成 tar 归档文件。

    语法

    docker save [OPTIONS] IMAGE [IMAGE...]
    
    • 1

    OPTIONS 说明:

    • -o : 输出到的文件。

    实例

    将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档

    runoob@runoob:~$ docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
    runoob@runoob:~$ ll my_ubuntu_v3.tar
    -rw------- 1 runoob runoob 142102016 Jul 11 01:37 my_ubuntu_v3.ta
    
    • 1
    • 2
    • 3

    2 篇笔记

    docker prune 命令

    prune 命令用来删除不再使用的 docker 对象。

    删除所有未被 tag 标记和未被容器使用的镜像:

    $ docker image prune
    WARNING! This will remove all dangling images.
    Are you sure you want to continue? [y/N] y
    
    • 1
    • 2
    • 3

    删除所有未被容器使用的镜像:

    $ docker image prune -a
    
    • 1

    删除所有停止运行的容器:

    $ docker container prune
    
    • 1

    删除所有未被挂载的卷:

    $ docker volume prune
    
    • 1

    删除所有网络:

    $ docker network prune
    
    • 1

    删除 docker 所有资源:

    $ docker system prune
    
    • 1

    docker system prune 命令:

    This will remove:
            - all stopped containers
            - all networks not used by at least one container
            - all dangling images
            - all dangling build cache
    
    • 1
    • 2
    • 3
    • 4
    • 5

    翻译:删除停止的容器、删除所有未被容器使用的网络、删除所有none的镜像。
    `
    $ docker container prune

    
    删除所有未被挂载的卷:
    
    
    • 1
    • 2
    • 3

    $ docker volume prune

    
    删除所有网络:
    
    
    • 1
    • 2
    • 3

    $ docker network prune

    
    删除 docker 所有资源:
    
    
    • 1
    • 2
    • 3

    $ docker system prune

    
    
    
    **docker system prune** 命令:
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    This will remove:
    - all stopped containers
    - all networks not used by at least one container
    - all dangling images
    - all dangling build cache

    
    翻译:删除停止的容器、删除所有未被容器使用的网络、删除所有none的镜像。
    
    • 1
    • 2
  • 相关阅读:
    【附源码】计算机毕业设计JAVA校园社团管理平台演示录像2021
    基于vue-cli创建后台管理系统前端页面——element-ui,axios,跨域配置,布局初步,导航栏
    【Python实战】如果没有音乐,生活就是一个错误 :n首回味无穷的歌,总有一曲深得你心哦~
    【VRP问题】基于帝国企鹅优化算法求解冷链配送物流车辆调度优化研究
    Python自动导入缺失的库
    一文读懂测试金字塔
    MYSQL入门与进阶(二)
    【ES笔记01】ElasticSearch数据库之index索引、doc文档、alias别名、mappings映射结构的基本操作
    使用HTML+CSS技术制作篮球明星介绍网站
    软件第三方测评机构简析:良好的测试环境对软件产品起到的作用
  • 原文地址:https://blog.csdn.net/weixin_54707168/article/details/126706018