Docker 自己的理解(9)

1. Docker基础

docker 安装

单个的服务运行:例如:nginx、redis、mysql

是通过拉取镜像 images ,通过 run 命令运行容器

2. Dockerfile

通过 Dockerfile 文件来 build 镜像,生成镜像后同样使用 run 命令运行,这个也属于基础

同时可以将生成的镜像上传到 Docker Hub 仓库,使用的时候直接拉取

或者将直接从服务器拉取 源代码 或者 发布后的dll 通过 build 重新构建镜像

手动操作,单个容器 那100个微服务怎么处理,同时存在依赖关系呢 ?

3. Docker-Compose

批量容器编排 可以理解为:单机多容器部署方案

我们正常的项目中,一个项目是由多个服务组成的,例如:MySQL、Redis、RabbitMQ

通过 Dockerfile 和 Docker-compose.yml 的组合,重点在 yml 文件中,定义了多个容器服务,Dockerfile 的 build 命令也定义在了其中。

通过 docker-compose up 命令启动多个服务。会创建一个新的网络 基于 bridge 模式。

在同一个网络下,可直接 ping 通服务名。所以在项目中,其他服务的连接字符串也可以直接写服务名。例如图:

4. Docker Swarm

集群环境,基于 Raft 协议:保证大多数节点存活才可以用。只要 > 1 ,集群至少大于3台。

环境搭建完成会创建一个默认的网络,基于 overlay network,也可自定义网络。

Swarm 主要是对服务的操作,

例如:docker service create 创建服务 与 docker run 命令作用一致,不同的是 docker service 可以对服务进行扩缩容。以及 滚动更新/回滚操作。

2019-07 阿里云宣布 Docker Swarm 剔除。

5. Kubernetes

待补充

posted @ 2022-05-23 11:52  shenghuotaiai  阅读(37)  评论(0编辑  收藏  举报