Docker实战指南(三):Docker镜像

Introduction

Docker实战指南(二):在Docker中搭建Nginx服务器中,我们已经介绍了如何快速地搭建一个实用的Nginx服务器。这次我们将围绕Docker镜像(Docker Image),介绍其使用方法。包括三部分:

  1. 从Docker Hub或者其他镜像源安装Docker镜像
  2. 从Image file安装Docker镜像
  3. 从Docker file制作Docker镜像

查找Docker镜像

安装Docker镜像的第一步,是查找你需要的Docker镜像列表,键入:

docker search mysql

如果出现权限问题,请在最前面加入sudo:

sudo docker search mysql

查询返回一个列表:

NAME                       DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                      MySQL is a widely used, open-source relati...   2981      [OK]
mysql/mysql-server         Optimized MySQL Server Docker images. Crea...   194                  [OK]
centurylink/mysql          Image containing mysql. Optimized to be li...   46                   [OK]
sameersbn/mysql                                                            36                   [OK]
jdeathe/centos-ssh-mysql   CentOS-6 6.8 x86_64 / MySQL.                    8                    [OK]
appcontainers/mysql        Centos/Debian Based Customizable MySQL Con...   8                    [OK]
marvambass/mysql           MySQL Server based on Ubuntu 14.04              6                    [OK]
drupaldocker/mysql         MySQL for Drupal                                2                    [OK]
azukiapp/mysql             Docker image to run MySQL by Azuki - http:...   2                    [OK]
yfix/mysql                 Yfix docker built mysql                         2                    [OK]
alterway/mysql             Docker Mysql                                    2                    [OK]
frodenas/mysql             A Docker Image for MySQL                        2                    [OK]
andreluiznsilva/mysql      A extension of the offical MySQL container...   1                    [OK]
phpmentors/mysql           MySQL server image                              1                    [OK]
sin30/mysql                MySQL images with my own config files.          1                    [OK]
tozd/mysql                 MySQL (MariaDB fork) Docker image.              0                    [OK]
nanobox/mysql              MySQL service for nanobox.io                    0                    [OK]
...

列表包含了所有的MySQL镜像,其中:

  • NAME字段是镜像的名字
  • DESCRIPTION字段是对镜像的简单描述
  • STARS数量反映了用户的喜爱程度
  • OFFICIAL字段如果是OK,代表了这个镜像是官方提供的,可以信任
  • AUTOMATED字段如果是OK,代表了这个镜像是基于公开的脚本制作的,可以信任

如果OFFICIAL和AUTOMATED都不为OK,那使用的时候需要额外小心了,这类镜像中可能包含恶意软件,不过对于个人非敏感数据还是可以使用的。
此外,你也可以通过访问https://hub.docker.com/,通过Web来搜索你需要的镜像。

下载Docker镜像

当你找到合适的镜像后,可以通过:

docker pull [REGISTRYHOST/][USERNAME/]NAME[:TAG]

来进行下载,方括号中的是可选项:

docker pull mysql

导出Docker镜像

你可以将本地镜像导出为文件,如我们刚才下载的MySQL镜像:

docker save -o mysql.tar mysql

将我们的MySQL镜像导出为mysql.tar.

导入Docker镜像

有导出就有导入,导入的命令是:

docker load -i mysql.tar

将我们的MySQL镜像导入。

删除Docker镜像

为了节约磁盘空间,有时候我们需要删除不需要的Docker镜像文件,首先查看我们拥有的Docker镜像文件:

docker images

然后删除不需要的镜像,释放磁盘空间:

docker rmi [REGISTRYHOST/][USERNAME/]NAME[:TAG]

通过Docker File编译Docker镜像

制作Docker File我们放在后面再讲,假设你有一个名为Dockerfile的文件,编译制作Docker的命令是:

docker build -f Dockerfile .

成功后将在当前路径下制作出一个Docker镜像文件。

Summary

我们简单的介绍了Docker镜像的使用方法。通过此实战,你应该对Docker镜像有了更深入的体会。

(本文出自csprojectedu.com,转载请注明出处)