【PM学习笔记】Docker 101

首先 为什么需要Docker?

在资管公司进行软件开发,按照监管要求分成开发环境、测试环境和生产环境。开发人员在开发环境不断开发迭代新的功能,放到测试环境交由用户测试,验收后再部署到生产环境中。不管怎么努力,因为基础设施和资源等的天然不同,这几个环境之间总是存在着或多或少的差异,在部署和运行时会出现各种各样的问题。基于此,团队开始尝试使用Docker。

Docker可以帮助解决以下的两个重要问题:

  1. 不同环境的差异带来的部署和运行的挑战,例如安装的依赖包版本不同

  1. 一个工具往往由多个组件构成,彼此之间版本不尽相同,把它们连接在一起同时运行可能会碰到未知的问题

先记住几个关键词

dockerfile

image

registry

container

host

  • dockerfileimage的源代码

  • docker是dockerfile的编译器,生成可执行的image

  • 运行起来的进程就是docker container

Docker的工作原理

  1. 将运行环境和业务代码一起打包成image

  1. 如果之后需要反复使用,可以将image上传到registry。registry可以是public,也可以是private。

  1. 通过image可以创建container,container和image一一对应

  1. 最后将container放在host上,一个host可以同时放多个container

在实际工作中的应用

Ask: 在测试环境中同时运行1.0和1.1两个版本

Solution: 为这两个版本分别build image并创建container,放在UAT host上。访问时可以通过端口号 (同一host) 或不同IP地址 (不同host)来区分。

Reference

什么是Docker?看这一篇干货文章就够了! - 知乎 (zhihu.com)

现代软件开发的一大目的就是隔离,应用程序在运行时相互独立互不干扰 ... 其中一种解决方案就是上面提到的虚拟机技术,通过将应用程序部署在不同的虚拟机中从而实现隔离。容器技术 只隔离应用程序的运行时环境但容器之间可以共享同一个操作系统,这里的运行时环境指的是程序运行依赖的各种库以及配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当谈到Docker学习笔记时,我可以为你提供一些基本的指导和主题,以帮助你开始学习Docker。以下是一些可能涵盖的主题: 1. Docker简介:了解Docker的基本概念、优势以及它如何与虚拟化技术不同。 2. Docker安装:学习如何在不同的操作系统上安装Docker,并熟悉Docker引擎的组成部分。 3. Docker镜像:了解Docker镜像的概念,以及如何通过构建、拉取和推送镜像来管理和共享容器环境。 4. Docker容器:学习如何创建、启动、停止和删除容器,并了解容器和主机之间的交互方式。 5. Docker网络:探索Docker网络模式,包括桥接网络、主机网络和覆盖网络,并理解容器之间以及容器与主机之间的通信方式。 6. Docker存储:了解Docker存储技术,包括数据卷和绑定挂载,并学习如何在容器中持久化数据。 7. Docker Compose:介绍Docker Compose工具,它可以用于定义和运行多个容器的应用程序。 8. Docker Swarm:探索Docker Swarm,它是Docker官方的容器编排和集群管理工具,于在多个主机上部署和管理容器应用。 9. Docker和持续集成/持续部署(CI/CD):了解如何将Docker与CI/CD工具(如Jenkins、GitLab CI等)集成,以简化应用程序的构建和部署过程。 这只是一些可能的主题,你可以根据自己的需求和兴趣来选择学习内容。希望这些指导可以帮助你开始学习Docker!如果你有任何特定的问题,我很乐意回答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值