Dock镜像初探索

一、安装CentOS版DockerCE

1.1 卸载旧的版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

1.2 使用yum安装最新版Docker

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2


此处可以用国内源
yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

 二、使用镜像

2.1 获取镜像

2.1.1 首先查找镜像

具体命令为:

docker search  镜像名

一般第一个没有多余名字的centos就是官方发布的。推荐使用

2.1.2 下载镜像

具体命令为:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

具体的选项可以通过 docker pull --help 命令看到,这里我们说一下镜像名称的格式。

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

举例:

 

 此处我已经下载过了。

2.1.3 列出所有已经下载的镜像:

具体的命令为:

docker images/docker image ls/docker image list

可以看到镜像仓库,标签,和ID,创建日期等等。注意这里的size

此处的sizi要远远小于官方给的镜像大小,因为官方的是经过压缩的。此处显示的大小是我们下载过来解压后的大小


docker system df  //可以查看镜像个数,容器,数据卷所占用的空间

 补充:虚悬镜像(dangling image):这个镜像原本是有镜像名和标签的,比如 原来为 mongo:3.2,随着官方镜像维护,发布了新版本后,重新 docker pull mongo:3.2 时,mongo:3.2 这个镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了 <none>。除了 docker pull 可能导致这种情况,docker build 也同样可以导致这种现象。由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 <none> 的镜像。这类无标签镜像也被称为 虚悬镜像(dangling image) ,可以用下面的命令专门显示这类镜像:

docker image ls -f dangling=true

 一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除。

docker image prune

2.1.4 镜像的使用

docker run -it ubuntu:18.04 /bin/bash

  • -it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
  • ubuntu:18.04:这是指用 ubuntu:18.04 镜像为基础来启动容器。
  • bash:放在镜像名后的是 命令,这里我们希望有个交互式 Shell,因此用的是 bash
通过exit退出容器

 2.1.5 镜像的删除


 docker image rm [选项] <镜像1> [<镜像2> ...]
 docker rmi 镜像  

 

  

















不忘初心,方得始终,以梦为马,不负韶华
原文地址:https://www.cnblogs.com/newz/p/11744362.html