简单谈谈Docker镜像的使用方法
在上篇文章(在Docker中搭建Nginx服务器)中,我们已经介绍了如何快速地搭建一个实用的Nginx服务器。这次我们将围绕Docker镜像(DockerImage),介绍其使用方法。包括三部分:
- 从DockerHub或者其他镜像源安装Docker镜像
- 从Imagefile安装Docker镜像
- 从Dockerfile制作Docker镜像
查找Docker镜像
安装Docker镜像的第一步,是查找你需要的Docker镜像列表,键入:
dockersearchmysql
如果出现权限问题,请在最前面加入sudo:
sudodockersearchmysql
查询返回一个列表:
NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED mysqlMySQLisawidelyused,open-sourcerelati...2981[OK] mysql/mysql-serverOptimizedMySQLServerDockerimages.Crea...194[OK] centurylink/mysqlImagecontainingmysql.Optimizedtobeli...46[OK] sameersbn/mysql36[OK] jdeathe/centos-ssh-mysqlCentOS-66.8x86_64/MySQL.8[OK] appcontainers/mysqlCentos/DebianBasedCustomizableMySQLCon...8[OK] marvambass/mysqlMySQLServerbasedonUbuntu14.046[OK] drupaldocker/mysqlMySQLforDrupal2[OK] azukiapp/mysqlDockerimagetorunMySQLbyAzuki-http:...2[OK] yfix/mysqlYfixdockerbuiltmysql2[OK] alterway/mysqlDockerMysql2[OK] frodenas/mysqlADockerImageforMySQL2[OK] andreluiznsilva/mysqlAextensionoftheofficalMySQLcontainer...1[OK] phpmentors/mysqlMySQLserverimage1[OK] sin30/mysqlMySQLimageswithmyownconfigfiles.1[OK] tozd/mysqlMySQL(MariaDBfork)Dockerimage.0[OK] nanobox/mysqlMySQLservicefornanobox.io0[OK] ...
列表包含了所有的MySQL镜像,其中:
- NAME字段是镜像的名字
- DESCRIPTION字段是对镜像的简单描述
- STARS数量反映了用户的喜爱程度
- OFFICIAL字段如果是OK,代表了这个镜像是官方提供的,可以信任
- AUTOMATED字段如果是OK,代表了这个镜像是基于公开的脚本制作的,可以信任
- 如果OFFICIAL和AUTOMATED都不为OK,那使用的时候需要额外小心了,这类镜像中可能包含恶意软件,不过对于个人非敏感数据还是可以使用的。
此外,你也可以通过访问https://hub.docker.com/,通过Web来搜索你需要的镜像。
下载Docker镜像
当你找到合适的镜像后,可以通过:
dockerpull[REGISTRYHOST/][USERNAME/]NAME[:TAG]
来进行下载,方括号中的是可选项:
dockerpullmysql
导出Docker镜像
你可以将本地镜像导出为文件,如我们刚才下载的MySQL镜像:
dockersave-omysql.tarmysql
将我们的MySQL镜像导出为mysql.tar.
导入Docker镜像
有导出就有导入,导入的命令是:
dockerload-imysql.tar
将我们的MySQL镜像导入。
删除Docker镜像
为了节约磁盘空间,有时候我们需要删除不需要的Docker镜像文件,首先查看我们拥有的Docker镜像文件:
dockerimages
然后删除不需要的镜像,释放磁盘空间:
dockerrmi[REGISTRYHOST/][USERNAME/]NAME[:TAG]
通过DockerFile编译Docker镜像
制作DockerFile我们放在后面再讲,假设你有一个名为Dockerfile的文件,编译制作Docker的命令是:
dockerbuild-fDockerfile.
成功后将在当前路径下制作出一个Docker镜像文件。
Summary
我们简单的介绍了Docker镜像的使用方法。通过此实战,你应该对Docker镜像有了更深入的体会。