一、什么是 Docker 的镜像
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。一个完整的 Docker 有以下几个部分组成:
- Docker Client 客户端
- Docker Daemon 守护进程
- Docker Image 镜像
- Docker Container 容器
镜像是一个模板,是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上。镜像是容器运行的基石。可以从镜像仓库中获取做好的镜像。镜像仓库可以使用公有仓库(https://hub.docker.com/),也可以搭建自己私有的镜像仓库。
下图展示的是 Docker 镜像的系统结构。其中,镜像的最底层必须是一个称为启动文件系统 (bootfs) 的镜像,用户不会与这一层直接打交道。bootfs 的上层镜像就是我们熟知的根镜像。
镜像的本质是磁盘上一系列文件的集合,如下图所示:
二、使用和访问 Docker 官方公有的镜像仓库
- 使用 search 命令搜索仓库中的镜像,如:mysql
docker search mysql
结果如下:
- 使用 pull 命令获取镜像,如:mysql 的镜像
docker pull mysql
- 使用获取的 MySQL 镜像,创建一个容器
docker run --name my_mysql -p 3306:3306
-e MYSQL_ROOT_PASSWORD=Welcome_1 -d mysql
- 使用 docker ps 查看容器信息
- 再下载一个 Tomcat 的镜像
docker search tomcat
docker pull tomcat
- docker images 显示本地已经有的镜像