Docker 的核心组件包括:
- Docker 客户端 - Client
- Docker 服务器 - Docker daemon
- Docker 镜像 - Image
- Registry
- Docker 容器 - Container
Docker 架构如下图所示:
Docker 采用的是 Client/Server 架构。客户端向服务器发送请求,服务器负责构建、运行和分发容器。客户端和服务器可以运行在同一个 Host 上,客户端也可以通过 socket 或 REST API 与远程的服务器通信。
1、Docker 客户端 - Client
最常用的 Docker 客户端是 docker 命令。通过 docker 我们可以方便地在 Host 上构建和运行容器。除了 docker
命令行工具,也可以通过 REST API 与服务器通信。
2、Docker 服务器 - Docker daemon
Docker daemon 是服务器组件,以 Linux 后台服务的方式运行, 运行在 Docker host 上,负责创建、运行、监控容器,构建、存储镜像。
默认配置下,Docker daemon 只能响应来自本地 Host 的客户端请求。如果要允许远程客户端请求,需要在配置文件中打开 TCP 监听,步骤如下:
编辑配置文件 /etc/systemd/system/multi-user.target.wants/docker.service,在环境变量 ExecStart 后面添加 -H tcp://0.0.0.0,允许来自任意 IP 的客户端连接
重启 Docker daemon。
1 systemctl deamon-reload
2 systemctl restart docker.service
服务器 IP 为 192.168.0.100,客户端在命令行里加上 -H 参数,即可与远程服务器通信。info
子命令用于查看 Docker 服务器的信息。
docker -H 192.168.0.100 info
3、Docker 镜像 - Image
可将 Docker 镜像看着只读模板,通过它可以创建 Docker 容器。
镜像有多种生成方法:
- 可以从无到有开始创建镜像
- 也可以下载并使用别人创建好的现成的镜像
- 还可以在现有镜像上创建新的镜像
像的内容和创建步骤描述在一个文本文件中,这个文件被称作 Dockerfile。通过执行下面的命令能创建镜像。
1 docker build <docker-file>
4、Registry
Registry 是存放 Docker 镜像的仓库,Registry 分私有和公有两种。Docker Hub(https://hub.docker.com/) 是默认的 Registry,由 Docker 公司维护。也可以自己创建Registry。
-
docker pull
命令可以从 Registry 下载镜像。 docker run
命令则是先下载镜像(如果本地没有),然后再启动容器。
-------------------------引用来自-----------------------------
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587573&idx=1&sn=9ed82f6e48df166f91b69fab46fc1e6a&chksm=8d30806cba47097a6a442eb52d3a4776c8bd067f4acbadd22d97a31549e7d5478ecf4abe69d8&scene=21#wechat_redirect