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

Docker专题学习 (三)镜像使用,第1张

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 出现了一个不同的标签

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5624500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存