Docker 是一个划时代的开源项目,降低了云计算资源供应的成本,同时让应用的部署、测试和分发都变得前所未有的高效和轻松!

Docker 的组件构成

Docker的主要概念
了解 Docker 的主要构成、概念及其作用:
- Docker Engine
- Docker Image(镜像)
- Docker Container(容器)
- Docker Registry(仓库)
Docker Engine
Docker Engine 是 Docker 主程序,主要包含Docker Client 和 Docker Server,可以创建 Docker 镜像并运行 Docker 容器 。Docker Engine里最主要的命令是 Docker Cli(docker) 和 Docker Daemon(dockerd)
[root@spark3 ~]# docker version
Client:
Version: 1.12.1
API version: 1.24
Go version: go1.6.3
Git commit: 23cf638
Built:
OS/Arch: linux/amd64
Server:
Version: 1.12.1
API version: 1.24
Go version: go1.6.3
Git commit: 23cf638
Built:
OS/Arch: linux/amd64
Docker 镜像
Docker 镜像(Image), 就是一个只读的模板,例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像文件支持标签(tag),用户可以指定镜像的标签。不带标签的镜像,默认是 latest 标签。
当用户创建了自己的镜像之后就可以使用 push
命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull
下来就可以了。
镜像可以用来创建 Docker 容器。
运行命令 docker run hello-world
,执行结果是生成了一个容器,我们可以理解这个容器是镜像hello-world 的一个实例。我们理解这行命令,可以分成三部分:

Docker 容器
Docker 容器(Container),是Docker从镜像创建的运行实例。它可以被启动、开始、停止、删除(docker run, docker start, docker stop, docker rm
)。Docker 利用容器(Container)来运行应用,每个容器都是相互隔离的、保证安全的平台。
我们可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序,和虚拟机有点相似。
Docker Registry(注册服务器)
- 仓库(Repository)是集中存放镜像文件的场所
- 仓库注册服务器(Registry),有时候会和仓库混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)
- 仓库分为公开仓库(Public)和私有仓库(Private)两种形式,最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载
- 国内的公开仓库包括 时速云 、网易云 等,可以提供大陆用户更稳定快速的访问
- 用户也可以在本地网络内创建一个私有仓库(参考“私有仓库”部分)
带着问题学习Docker的基本应用
- 启动 Docker 服务
- Docker默认的数据容量是多大?
- 如何使用 lvm-direct?
- 如何让Docker 支持更大的数据容量?
- Docker 的镜像文件来自哪里?
- 官方的镜像文件来自哪里?
- 注册 Docker Hub 的账号有什么作用?
- 如何使用第三方Registry 服务器的镜像?
- 如何把官方的镜像文件变成我的镜像文件?
- 如何使用 DockerFile 来构建我的镜像文件?
- 运行某镜像文件的容器的需求
- 如何以后台进程方式运行?
- 如何以控制台交互方式运行?
- 如何指定主机某个目录和容器某个目录的挂载关系
- 如何指定主机端口和容器端口的映射关系,比如创建MySQL镜像的一个容器时,如何指定端口,root密码
- 如何指定容器的IP地址
- 如何整合多个容器的组合。比如说,MediaWiki 容器+MySQL容器,才是一个完整的 MediaWiki 应用。如何把这两个容器整合并方便的异地部署
网友评论