Docker专题学习 (三)镜像使用

来源

运行容器时如果本地有所需要得镜像就是用本地的,如果本地没有需要的镜像则从 docker 的镜像仓库获取,默认从 docker hub 公共镜像源下载。

镜像指令

  1. 获取本地主机上的镜像列表
docker images

使用后会在下方出现对应的镜像列表
在这里插入图片描述
具体各参数意义如下:

REPOSITORY :表示镜像仓库源
TAG : 镜像标签
IMAGE ID : 镜像ID
CREATED : 镜像创建时间
SIZE : 镜像大小

同一个仓库镜像源可能有多个版本,就使用不同的 TAG 来标识不同的版本,我们在指令中指定镜像以及对应版本时,格式如下 镜像名:版本TAG
例如,如果要运行不同版本的 ubuntu 容器,这里指令可以如下

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

使用后将进入对应容器中
注意:如果没有指定镜像的版本,那么将默认使用最新版本镜像 例如上面语句中则相当于 ubuntu:latest

  1. 获取(拖拽拉取)新镜像
docker pull 指定的镜像

例如:

docker pull ubuntu:15.10
  1. 搜索镜像
    可以直接去 docker hub 地址如下:https://hub.docker.com/
    或者使用指令搜索我们需要的镜像,如果我们需要web 服务 例如httpd则如下
docker search httpd

之后会出现展示列表,个参数含义如下:
NAME : 镜像仓库源名称
DESCRIPTION : 镜像描述
OFFICIAL : 是否 docker 官方发布
STARTS : 表示点赞、喜欢的意思
AUTOMATED : 自动构建

  1. 删除镜像
    直接使用指令如下:
docker rmi test-images1

同样需要指定版本,如果没有指定版本就默认为指令 镜像:latest

  1. 更新镜像
    先创建一个容器如下:
docker run -t -i ubuntu:15.10 /bin/bash

进入容器内后执行 apt-get update 进行更新,然后再使用 exit 退出,记录此时容器的 ID
然后可以通过指令 docker commit 提交容器副本,具体指令如下:

docker commit -m="test update" -a="yvyv" c684sad84da4 yvyv/ubuntu:v2

各参数说明如下:

-m : 提交的描述信息
-a : 指定镜像作者
c684sad84da4 : 容器 ID
yvyv/ubuntu:v2 : 指定要创建的目标镜像名

然后可以继续使用 docker images 查看更改后的镜像列表

使用新镜像启动容器,指令可以如下参考:

docker run -t -i yvyv/ubuntu:v2 /bin/bash
  1. 构建镜像
    从零开始构建一个镜像 可以执行 docker build ,但需要创建一个文件 Dockerfile 里面会包含一组指令,说明如何构建我们的镜像
    找个例子如下:
cat Dockerfile # 这个是外层查看该文件内容的指令 下面为具体构建指令

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

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd yvyv
RUN     /bin/echo 'yvyv: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 在镜像内执行命令,安装什么

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

docker build -t yvyv/centos:6.7 .

参数说明:

-t : 指定要创建的目标镜像名
. : Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

然后可以通过 docker images 查看生成的镜像
之后便可以使用新的镜像来运行容器,例子如下:

docker run -t -i yvyv/centos:6.7  /bin/bash
  1. 为镜像设置标签
    使用指令 docker tag 可以为镜像添加新的标签
    例子如下:
docker tag 16dadg1j3ybv yvyv/centos:dev

16dadg1j3ybv : 为镜像id
yvyv/centos:dev : 分别代表用户名,镜像源名,tag 名

使用docker images 可以看到同样的镜像 id 出现了一个不同的标签

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值