Docker镜像的使用方法

docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。一个完整的Docker有以下几个部分组成:dockerClient客户端、Docker Daemon守护进程、Docker Image镜像、DockerContainer容器。

Docker镜像是由文件系统叠加而成。最底端是一个文件引导系统,即bootfs。Docker用户不会与引导文件系统有直接的交互。Docker镜像的第二层是root文件系统rootfs,通常是一种或多种操作系统,例如ubuntu等。在Docker中,文件系统永远都是只读的,在每次修改时,都是进行拷贝叠加从而形成最终的文件系统。Docker称这样的文件为镜像。一个镜像可以迭代在另一个镜像的顶部。位于下方的镜像称之为父镜像,最底层的镜像称之为基础镜像。最后,当从一个镜像启动容器时,Docker会在最顶层加载一个读写文件系统作为容器。

本文将围绕Docker镜像(Docker Image),介绍其使用方法。包括三部分:

•从Docker Hub或者其他镜像源安装Docker镜像

•从Image file安装Docker镜像

•从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镜像有了更深入的体会。

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » Docker镜像的使用方法

登录

找回密码

注册