小强哥博客

小强哥,小强哥博客,技术大咖

近期docker学习总结,第二章

这片文章我想总结一下关于docker镜像方面的内容,官方术语看着太别扭,还是自己整理整理比较好。

先摘抄一段话,如下:

docker的三大组件:镜像、容器、仓库。我们都知道,操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:14.04 就包含了完整的一套 Ubuntu 14.04 最小系统的 root 文件系统。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

这是从网上招来的,这段话不难理解,意思就是docker镜像你可以随便玩,玩坏了可以remove掉,然后在run一个,就是这么爽。我刚开始之所以玩docker就是知道docker可以运行centos镜像,想在centos中玩jenkins,没想到jenkins已经有了docker镜像,让我很高兴,彻底的喜欢上了docker。

使用docker镜像你可以使用官方提供的,也就是从dockerhub上下载下来的,还可以通过dockerfile自定义镜像,后面我会一一列举。

镜像操作

通过操作一个nginx镜像来熟悉docker镜像操作。

列出镜像列表

docker images

执行命令如下,

image

[REPOSITORY]:镜像名称。 [TAG]:镜像版本,latest为最新版本。 [IMAGE ID]:为镜像本地唯一Id,删除的时候会用到。 [CREATED]:镜像在本地的创建时间。 [SIZE]:镜像大小,因为镜像是一个文件系统,并非表示镜像实际占用的大小。

查找远程镜像

docker search nginx

执行命令如下,

image

这个功能有点类似yum search功能,都是用来查找可用的镜像或者安装包。

[STARS]:关注度,类似github上的star。 [OFFICIAL]:是否是官方镜像。 [AUTOMATED]:自动化?这个我不知道干什么的。

选择镜像我一般都是选择官方的,也就是OFFICIAL=OK的。

获取一个镜像

docker pull nginx

执行命令如下,

image

接着使用docker images列出本地所有镜像,如下,

image

删除镜像

docker rmi [imageId]

imageId可以通过docker images命令查看到。

运行镜像

运行镜像使用docker run命令,如下命令启动一个nginx镜像,

docker run -itd nginx

[-i]: 以交互模式运行容器,通常与 -t 同时使用。 [-t]:为容器重新分配一个伪输入终端,通常与 -i 同时使用。 [-d]:后台运行。 [nginx]:指的是image名字,这里启动的是nginx。

更多docker run参数可以参考Docker run 命令参数及使用

查看运行容器

docker ps -a

执行结果如下,

image

可以看到nginx容器已经运行起来了,状态为up,docker ps命令和linx中的ps命令含义差不多。

容器管理

常用的容器管理命令有,如下

docker stop [容器名字]
docker start [容器名字]
docker restart [容器名字]
docker logs  [容器名字]
# 删除容器,删除之前必须先关闭。
docker rm -v  [容器名字]

同样的,可玩的不止有nginx,还有centos、redis、mongo等好多,看到这里就可以尽情的去玩转官方镜像吧。

我会继续整理关于自定义镜像方面的内容。

相关内容

近期docker学习总结,第一章