《最详细的docker+php开发环境教程》(三) docker镜像
介绍
Docker 把应用程序及其依赖,打包在 image 文件里面。只有通过这个文件,才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。 image 是二进制文件。实际开发中,一个 image 文件往往通过继承另一个 image 文件,加上一些个性化设置而生成。举例来说,你可以在 Ubuntu 的 image 基础上,往里面加入 Apache 服务器,形成你的 image。 image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照样可以使用。一般来说,为了节省时间,我们应该尽量使用别人制作好的 image 文件,而不是自己制作。即使要定制,也应该基于别人的 image 文件进行加工,而不是从零开始制作。
查看镜像
$ docker images [OPTIONS] [REPOSITORY[:TAG]] OPTIONS: 1. -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层) 2. --digests :显示镜像的摘要信息 3. -f|--filter :显示满足条件的镜像 * dangling=true :显示所有虚悬镜像 * sinse=php:7.2 :显示所有在php:7.2之后获取的镜像 * ... 4. --format :以指定格式显示列表 REPOSITORY: 要查看的镜像仓库源 TAG: 要查看的镜像tag,默认为latest
示例:
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker_nginx latest 58a36e1f27e0 14 hours ago 109MB <none> <none> 21f4fd3d028f 14 hours ago 109MB docker_php-fpm latest 1b52d1a076c9 27 hours ago 369MB REPOSITORY:表示仓库源 TAG: 镜像的标签,同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本 如ubuntu仓库源里,有15.10、14.04等多个不同的版本 我们使用 REPOSITORY:TAG 或镜像id来唯一标识镜像 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小
虚悬镜像
有时候会看到示例中那样,会出现镜像名称和tag都为none的镜像,这种镜像是虚悬镜像,会在镜像更新或rebuild的时候出现,一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,之后会在搭建环境中详细说明。
删除虚悬镜像
$ docker image prune
查看虚悬镜像
docker image ls -f dangling=true
查询镜像
示例:
$ docker search -s 100 php NAME DESCRIPTION STARS OFFICIAL AUTOMATED php While designed for web development, the PHP … 3228 [OK] richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 536 [OK] phpmyadmin/phpmyadmin A web interface for MySQL and MariaDB. 492 [OK] eboraas/apache-php PHP5 on Apache (with SSL support), built on … 136 [OK] php-zendserver Zend Server - the integrated PHP application… 135 [OK]
获取镜像
$ docker pull [OPTIONS] NAME[:TAG] OPTIONS 1. -a :拉取所有 tagged 镜像 2. --disable-content-trust :忽略镜像的校验,默认开启 NAME[:TAG] 要拉取的镜像名称,tag可省略,省略则默认为latest