Docker 全家桶 (上)
当我们部署项目时一般就需要将项目打成 Jar 包, 然后上传到服务器, 停止已经运行的 Jar,然后再在服务器运行新的 Jar 包。而且, 由于开发人员和测试人员以及运维人员的机器环境不尽相同, 所以还可能总是导致开发人员运行很多, 测试人员启动都失败等问题。
这样的部署流程和开发过程看起来就很复杂和麻烦,因此, 项目容器化的出现可以很好的解决企业的此类痛点问题,而Docker
就是目前世界领先的软件容器平台。通过Docker
我们可以很容易的将项目构建成为Docker 镜像
。当构建好了
Docker
镜像之后, 我们就需要一个地方去存储我们的Docker
镜像, 主流的就是DockerHub
和Harbor
, 但是企业内部不可能将项目镜像发布到DockerHub
, 一般都需要搭建一个Harbor
镜像私服仓库.有了 Docker, Harbor之后, 其实构建镜像的操作我们就都可以依托于 Jenkins 来做, 减少开发人员的负担.
随着系统的不断开发, 部署, 您可能就会发现服务器上的 Docker 容器运行的越来越多, 需要启动或者停止项目 A, 项目 A 又依赖于 MySql, Redis, ES, RabbitMQ…同样的, 这个服务在 5 台机器上搭建了集群…
这个时候, 容器的编排管理就显得格外重要, 不过不用担心, Docker 公司已经为我们准备好了一系列容器编排管理工具----
Docker Compose/Machine/Swarm/Stack
.
- Docker Compose 一般用于开发阶段, 可以在单个机器中帮助我们管理容器的依赖关系, 网络, 资源等.
- Docker Machine 可以帮助我们在多个服务器上安装 Docker, 管理服务器资源等.
- Docker Swarm 可以帮我们快速的进行容器集群的部署和管理.
- Docker stack 通常用于生产环境进行容器的部署与管理, 和 Docker Compose 类似, 只是对资源的管理更好, 且本身就被集成到 Docker Engine 中, 不需要单独安装.
当今环境, 无论是一线城市还是二线、三线城市, Docker 技术已经是 k8s 时代和微服务架构时代必不可少的基础知识, 开发人员必须熟练掌握相关的知识以及能够熟练使用。
因此, 号称雷锋的帅帅熬夜到半夜 2 点、撸了一周给大家准备了一个 Docker 全家桶系列的教程,今天先和大家分享上篇, 下篇正在抽时间剪辑, 大家持续关注, 马上就会和大家见面。
好了, 废话不多说, 上干货.
扫码查看视频哦, 大家记得一键三连哈…哈哈哈哈…
或者复制网页链接到浏览器都可以播放哦:
https://www.bilibili.com/video/BV1V44y1m7DE/