运行容器时如果本地有所需要得镜像就是用本地的,如果本地没有需要的镜像则从 docker 的镜像仓库获取,默认从 docker hub 公共镜像源下载。
镜像指令- 获取本地主机上的镜像列表
docker images
使用后会在下方出现对应的镜像列表
具体各参数意义如下:
REPOSITORY :表示镜像仓库源
TAG : 镜像标签
IMAGE ID : 镜像ID
CREATED : 镜像创建时间
SIZE : 镜像大小
同一个仓库镜像源可能有多个版本,就使用不同的 TAG 来标识不同的版本,我们在指令中指定镜像以及对应版本时,格式如下 镜像名:版本TAG
例如,如果要运行不同版本的 ubuntu 容器,这里指令可以如下
docker run -t -i ubuntu:15.10 /bin/bash
使用后将进入对应容器中
注意:如果没有指定镜像的版本,那么将默认使用最新版本镜像 例如上面语句中则相当于 ubuntu:latest
- 获取(拖拽拉取)新镜像
docker pull 指定的镜像
例如:
docker pull ubuntu:15.10
- 搜索镜像
可以直接去 docker hub 地址如下:https://hub.docker.com/
或者使用指令搜索我们需要的镜像,如果我们需要web 服务 例如httpd则如下
docker search httpd
之后会出现展示列表,个参数含义如下:
NAME : 镜像仓库源名称
DEscriptION : 镜像描述
OFFICIAL : 是否 docker 官方发布
STARTS : 表示点赞、喜欢的意思
AUTOMATED : 自动构建
- 删除镜像
直接使用指令如下:
docker rmi test-images1
同样需要指定版本,如果没有指定版本就默认为指令 镜像:latest
- 更新镜像
先创建一个容器如下:
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
- 构建镜像
从零开始构建一个镜像 可以执行 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
- 为镜像设置标签
使用指令 docker tag 可以为镜像添加新的标签
例子如下:
docker tag 16dadg1j3ybv yvyv/centos:dev
16dadg1j3ybv : 为镜像id
yvyv/centos:dev : 分别代表用户名,镜像源名,tag 名
使用docker images 可以看到同样的镜像 id 出现了一个不同的标签
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)