Docker学习笔记----镜像的使用

什么是镜像?

如果把docker的容器比作对象的话, 那么docker的镜像就算是类, 它提供了容器的模板, 通过镜像,我们可以创建一系列的同类容器。当我们想要运行容器的时候,它会首先去本地镜像中去找相关镜像, 如果存在镜像则创建, 如果不存在docker会自动去docker的镜像仓库去下载, 默认是去Docker Hub公共镜像源下载。

列出镜像列表

docker images

会列出本地主机上的所有镜像,项目说明:

    REPOSITORY: 镜像的仓库源

    TAG: 镜像的标签, 一般我们都是以respository:tag去运行容器的, 同一个仓库源可以有多个Tag, 表示它的不同版本, 就类似于你可以拥有Ubuntu不同版本的系统一样。你可以有15.10, 14.04两个版本...

    IMAGE ID: 镜像ID

    CREATED: 镜像创建时间

    SIZE: 镜像大小

获取一个新的镜像

docker pull ubuntu:13.10

    下载完成后, 我们可以直接使用这个镜像来运行容器

查找镜像

docker search httpd

    我们可以使用search来搜索镜像, 搜索的地址为Docker Hub官网,选项说明如下:

    NAME: 镜像仓库源名称

    DESCRIPTION: 镜像的描述

    OFFICIAL: 是否docker官方发布

拉取镜像

docker pull httpd

    拉取镜像后我们就可以使用镜像了

    docker run httpd

       运行之前你要确定知道这个镜像是干嘛的,反正这个镜像我运行时报错了

创建镜像

当从docker镜像仓库下载的镜像不能满足需求时, 我们可以更改镜像,方式有两种:

    1. 从已创建的容器中更新镜像, 并提交

    2. 使用Dockfile指令创建一个新镜像

更新镜像

例如我们已经获取了一个镜像, 但是里面的东西不能满足我们的需求,我们可以更新这个镜像

docker run -t -i ubuntu:15.10 /bin/bash

    bash内运行 apt-get upgrade来演示内部更新,然后exit, 这样就相当于获取了一个新的镜像

docker commit -m=‘has update’ -a='runoob' e218edb10161 runoob/ubuntu:v2

    -m: 提交的描述信息, 类似于Git里面的commit

    -a: 镜像的作者

    e218edb10161: 容器ID

    runoob/ubuntu:v2: 指定要创建的目标镜像名

构建镜像

创建命令为docker build, 可以从零开始创建一个新的镜像。

首先我们需要一个Dockerfile来告诉docker怎么去创建镜像,内容大概长这样

FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D

内部的指令的解析如下:

    FROM:指定使用哪个镜像源

    RUN:告诉docker创建后再镜像内执行什么命令, 安装了什么

    然后就可以使用build命令来创建镜像了,命令如下:

docker build -t runoob/centos:6.7 .

    -t: 指定要创建的镜像名

    .: Dockerfile的存储路径, 可以是绝对路径

    这里有个坑: docker会默认把Dockerfile里面同级的所有文件都整到镜像里面, 所以最好整个空的文件夹。

    运行完后, 我们可以用这个镜像来创建一个新的容器

    docker run -t -i runoob/centos:6.7 /bin/bash

设置镜像标签

docker tag 镜像ID/NAMES 镜像名:指定标签名

镜像删除

首先, 要移除使用该镜像的所有容器, 否则你删除的时候它会提示你当前镜像已经被某个容器所使用了

然后就可以使用rmi命令来删除了:

docker rmi 镜像ID

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值