zoukankan      html  css  js  c++  java
  • Docker核心技术-镜像管理

    1 docker镜像管理

    1.1 镜像简介 Docker镜像是什么?

    镜像是一个Docker的可执行文件,其中包括运行应用程序所需的所有代码内容、依赖库、环境变量和配置文件等。 通过镜像可以创建一个或多个容器。

    1.2 搜索、查看、获取

    搜索镜像

    #作用
    搜索Docker Hub(镜像仓库)上的镜像
    #命令格式:
    docker search [镜像名称]
    #命令演示:
    $ docker search ubuntu
    #NAME:名称
    #DESCRIPTION:基本功能描述
    #STARS:下载次数
    #OFFICIAL:官方
    #AUTOMATED:自动的运行

    获取镜像

    #作用:
    下载远程仓库(如Docker Hub)中的镜像
    #命令格式:
    docker pull [镜像名称]
    #命令演示:
    $ docker pull ubuntu
    $ docker pull nginx
    #注释:
    #获取的镜像在哪里?
    #/var/lib/docker 目录下
    #由于权限的原因我们需要切换root用户
    #那我们首先要重设置root用户的密码:
    :~$ sudo passwd root
    #这样就可以设置root用户的密码了。
    #之后就可以自由的切换到root用户了
    :~$ su
    #输入root用户的密码即可。
    #当然,如果想从root用户切换回一般用户,则可使用 su -val(一般用户名)
    #而当你再次切回到root用户,则只需要键入exit,再次输入exit则回到最初的用户下
    #操作下面的文件可以查看相关的镜像信息
    :~$ vim /var/lib/docker/image/overlay2/repositories.json

    查看镜像

    #作用:
    列出本地镜像
    #命令格式:
    docker images [镜像名称]
    docker image ls [镜像名称]
    #命令演示:
    $ docker images
    #镜像的ID唯一标识了镜像,如果ID相同,说明是同一镜像。TAG信息来区分不同发行版本,如果不指定具体标记,
    默认使用latest标记信息
    #docker images -a 列出所有的本地的images(包括已删除的镜像记录)
    #REPOSITORY:镜像的名称
    #TAG :镜像的版本标签
    #IMAGE ID:镜像id
    #CREATED:镜像是什么时候创建的
    #SIZE:大小

    1.3 重命名、删除

    镜像重命名

    #作用:
    对本地镜像的NAME、TAG进行重命名,并新产生一个命名后镜像
    #命令格式:
    docker tag [老镜像名称]:[老镜像版本][新镜像名称]:[新镜像版本]
    #命令演示:
    $ docker tag nginx:latest panda-nginx:v1.0

    删除镜像

    #作用:
    将本地的一个或多个镜像删除
    #命令格式:
    docker rmi [命令参数][镜像ID]
    docker rmi [命令参数][镜像名称]:[镜像版本]
    docker image rm [命令参数][镜像]
    #命令演示:
    $docker rmi 3fa822599e10
    $docker rmi mysql:latest
    #注意:
    如果一个image_id存在多个名称,那么应该使用 名称:版本 的格式删除镜像
    #命令参数(OPTIONS):
    -f, --force 强制删除

    1.4 导出、导入

    导出镜像 将已经下载好的镜像,导出到本地,以备后用。

    #作用:
    将本地的一个或多个镜像打包保存成本地tar文件
    #命令格式:
    docker save [命令参数][导出镜像名称][本地镜像镜像]
    #命令参数(OPTIONS):
    -o, --output string 指定写入的文件名和路径
    #导出镜像
    :~$ docker save -o nginx.tar nginx

    导入镜像

    #作用:
    将save命令打包的镜像导入本地镜像库中
    #导入镜像命令格式:
    $ docker load [命令参数][被导入镜像压缩文件的名称]
    $ docker load < [被导入镜像压缩文件的名称]
    $ docker load --input [被导入镜像压缩文件的名称]
    #命令参数(OPTIONS):
    -i, --input string 指定要打入的文件,如没有指定,默认是STDIN
    #为了更好的演示效果,我们先将nginx的镜像删除掉
    docker rmi nginx:v1.0
    docker rmi nginx
    #导入镜像文件:
    $ docker load < nginx.tar
    #注意:
    如果发现导入的时候没有权限需要使用chmod命令修改镜像文件的权限

    1.5 历史、创建

    查看镜像历史

    #作用:
    查看本地一个镜像的历史(历史分层)信息
    #查看镜像命令格式:
    docker history [镜像名称]:[镜像版本]
    docker history [镜像ID]
    #我们获取到一个镜像,想知道他默认启动了哪些命令或者都封装了哪些系统层,那么我们可以使用docker
    history这条命令来获取我们想要的信息
    $ docker history sswang-nginx:v1.0
    #IMAGE:编号
    #CREATED:创建的
    #CREATED BY :基于那些命令创建的
    #SIZE:大小
    #COMMENT:评论

    镜像详细信息

    #作用:
    查看本地一个或多个镜像的详细信息
    #命令格式:
    $ docker image inspect [命令参数] [镜像名称]:[镜像版本]
    $ docker inspect [命令参数] [镜像ID]
    #查看镜像详细信息:
    $ docker inspect nginx

    根据模板创建镜像

    #登录系统模板镜像网站:
    #https://download.openvz.org/template/precreated/
    #找到一个镜像模板进行下载,比如说ubuntu-16.04-x86_64.tar.gz,地址为:
    #https://download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz
    #命令格式:
    cat 模板文件名.tar | docker import - [自定义镜像名]
    #演示效果:
    $ cat ubuntu-16.04-x86_64.tar.gz | docker import - ubuntu-mini

    1.6总结

  • 相关阅读:
    office365离线安装
    c#使用emit方法DB,实体相互转换
    c#采用emit将DataTable转List
    c#将List转换成DataTable
    c#将List转换成DataTable(采用Emit)
    聊聊编程开发的数据库批量插入(sql)
    c#随便聊聊数据库操作
    c#聊聊文件数据库kv
    WPF几个样式
    c#(IronPython)调用Python方法
  • 原文地址:https://www.cnblogs.com/peteremperor/p/13946372.html
Copyright © 2011-2022 走看看