zoukankan      html  css  js  c++  java
  • Docker镜像部分详解

    拉取镜像:

    docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
    
    • Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号]。默认地址是 Docker Hub。
    • 仓库名:如之前所说,这里的仓库名是两段式名称,即 <用户名>/<软件名>。对于 Docker Hub,如果不给出用户名,则默认为 library,也就是官方镜像。

    列出镜像

    docker image ls
    

    镜像体积:

    Docker Hub 中显示的体积是压缩后的体积。在镜像下载和上传过程中镜像是保持着压缩状态的,因此 Docker Hub 所显示的大小是网络传输中更关心的流量大小。而 docker image ls 显示的是镜像下载到本地后,展开的大小,准确说,是展开后的各层所占空间的总和

    虚悬镜像

    这个镜像既没有仓库名,也没有标签,均为 可以用下面命令过滤出来这些镜像

    docker image ls -f dangling=true
    

    虚悬镜像(dangling image)是可以随意删除的,可以用下面的命令删除

    docker image prune
    

    中间层镜像

    为了加速镜像构建、重复利用资源,Docker 会利用 中间层镜像
    显示包括中间层镜像在内的所有镜像

    docker image ls -a
    

    这样会看到很多无标签的镜像,与之前的虚悬镜像不同,这些无标签的镜像很多都是中间层镜像,是其它镜像所依赖的镜像。这些无标签镜像不应该删除,否则会导致上层镜像因为依赖丢失而出错。

    列出部分镜像

    docker image ls ubuntu
    
    docker image ls ubuntu:18.04
    
    docker image ls -f since=ubuntu:18.04
    
    docker image ls -f before=ubuntu:18.04
    

    列出的特定格式

    只显示镜像id

    docker image ls -q
    

    可以根据这一方法删除本地所有虚悬镜像或者某一批镜像

    删除ubuntu所有标签的镜像
    docker image rm $(docker image ls -q ubuntu)
    删除所有虚悬镜像
    docker image rm $(docker image ls -q -f dangling=true)
    

    Docker定制镜像(编写Dockerfile文件)

    Dockerfile 中每一个指令都会建立一层

    • FROM 指定基础镜像
    • RUN 指令用来执行命令行命令
      • shell 格式:RUN <命令>
      • exec 格式:RUN ["可执行文件", "参数1", "参数2"]

    镜像是有层数限制的所以尽量使用 && 将各个所需命令串联起来,像这种:

    RUN apt-get update && 
        apt-get -y install netcat && 
        apt-get clean
    

    本地导入导出镜像

    导出镜像

    sudo docker save -o 镜像的压缩包名 要导出的镜像名
    

    导入镜像

    docker load < 镜像压缩包名
    
  • 相关阅读:
    HDU 1198
    HDU 1863
    HDU 1879
    HDU 1233
    HDU 1232
    HDU 1829
    HDU 2473
    hdu 1829 A Bug's Life
    hdu 3038 How Many Answers Are Wrong
    hdu 1198 Farm Irrigation
  • 原文地址:https://www.cnblogs.com/ldy-miss/p/11839928.html
Copyright © 2011-2022 走看看