当前位置:首页 >> 服务器

简单谈谈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镜像有了更深入的体会。