docker学习概述

docker是什么?

Docker 是一个开源的应用容器引擎,你可以将其理解为一个轻量级的虚拟机,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。

为什么要用docker?

  • 可以认为Docker是一个通用安装程序。简单来说,利用Docker容器,可以将任何一个或者多个程序封装起来,并提供标准的管理接口。因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这样,开发人员负责维护内容,并使用Docker进行封装,系统管理人员利用Docker的标准接口进行部署和管理。
  • 主要作用:
    1. 简化配置 :
      这是Docker公司宣传的Docker的主要使用场景。虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件、系统),Docker在降低额外开销的情况下提供了同样的功能。它能让你将运行环境和配置放在代码中然后部署,同一个Docker的配置可以在不同的环境中使用,这样就降低了硬件要求和应用环境之间耦合度。
    2. 代码流水线(Code Pipeline)管理
      前一个场景对于管理代码的流水线起到了很大的帮助。代码从开发者的机器到最终在生产环境上的部署,需要经过很多的中间环境。而每一个中间环境都有自己微小的差别,Docker给应用提供了一个从开发到上线均一致的环境,让代码的流水线变得简单不少。
    3. 隔离应用
      有很多种原因会让你选择在一个机器上运行不同的应用,比如之前提到的提高开发效率的场景等。我们经常需要考虑两点,一是因为要降运维成本而进行服务器整合,二是将一个整体式的应用拆分成松耦合的单个服务(微服务架构)。
    4. 多租户环境
      另外一个Docker有意思的使用场景是在多租户的应用中,它可以避免关键应用的重写。这种多租户的基本代码非常复杂,很难处理,重新规划这样一个应用不但消耗时间,也浪费金钱。使用Docker,可以为每一个租户的应用层的多个实例创建隔离的环境,这不仅简单而且成本低廉,当然这一切得益于Docker环境的启动速度和其高效的diff命令。
    5. 快速部署
      在虚拟机之前,引入新的硬件资源需要消耗几天的时间。Docker的虚拟化技术将这个时间降到了几分钟,Docker只是创建一个容器进程而无需启动操作系统,这个过程只需要秒级的时间。你可以在数据中心创建销毁资源而无需担心重新启动带来的开销。通常数据中心的资源利用率只有30%,通过使用Docker并进行有效的资源分配可以提高资源的利用率。

怎么使用docker?

  1. maven引入
  • springboot和maven有很好的集成,可以将项目部署到docker环境中。但是,这种自动的部署方案是只会部署在本地的docker中。详细原理参考:
  1. dockerfile引入
  • 书写脚本
  • 放置对应目录
  • 生成镜像
  • docker指令操作镜像

如何入门学习docker

  1. 安装docker,两个方式:
  • windows虚拟机版本
  • linux版本
  1. 学习linux的基本操作
  2. 学习docker基础命令:docker指令,操作镜像基础知识。参考
  3. 简单项目的完成:
  • 部署一个 个人博客:参考
  • 部署springboot项目:参考
  • dockerCLI方式完成对容器的管理
  1. 部署集群项目:参考

项目中使用的部署方案

  1. 前端部署:采用nginx作为环境,挂载了前端vue打包出的dist文件夹到nginx的默认的文件访问80端口就是访问那个应用,同时,外部端口映射成了8848。
  2. 后端部署:dockerfile+jar部署在centos系统中,形成稳定的镜像,端口是8889和9999.参考博客:https://blog.csdn.net/qq_42031483/article/details/99664089

常用的docker语句

  1. docker cp 宿主机内待复制的文件路径 容器id:目标路径
    可以参考这两篇博文,有几个例子。
  1. 资源整理:资源
最终目的

掌握前后端项目的开发,实现高可用,高性能的上线项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值