Docker学习笔记

“Debug your app, not your environment.”
“Develop faster. Run anywhere.”

Docker学习笔记

  • 官网:https://www.docker.com/
  • 官方文档:https://docs.docker.com/
  • 官方桌面客户端:https://www.docker.com/products/docker-desktop/
  • 官方的公开镜像仓库:https://hub.docker.com/
  • docker cheatsheet:https://docs.docker.com/get-started/docker_cheatsheet.pdf

What is Docker?

先看官方文档怎么说。

Docker is an open platform for developing, shipping, and running applications.

Accelerate how you build, share, and run applications

Docker helps developers build, share, run, and verify applications anywhere — without tedious environment configuration or management.

以前只是应用容器引擎,现在逐渐扩展为一个开放平台。

虚拟化技术

  • 将计算机的各种硬件资源,例如CPU、内存、磁盘以及网络等,看做资源池,系统管理员可以对其进行重新分配,而不用考虑底层物理硬件
  • 虚拟化技术解决的问题:1.高性能计算机硬件的产能过剩;2.把老旧的计算机硬件重新组合,作为一个整体的资源来用,化零为整。
  • Linux平台的虚拟化产品:KVM,Xen,VMWare,VirtualBox
  • Windows平台的虚拟化产品:Hyper V,VMWare,VirtualBox
  • 虚拟化系统可以在宿主机上虚拟化出一套完整的硬件基础设施,配以操作系统,相当于虚拟出一台计算机
  • 虚拟机对底层系统来说,就是一个文件。
  • 虚拟机之间是相互隔离的。
  • 虚拟化技术的缺点:资源占用多,一个虚拟机实例需要完整的操作系统及其附属应用,实际可能只需要部分功能和应用;冗余步骤多,启动慢

背景知识

容器技术

  • 容器,是一种轻量级的操作系统级的虚拟化,可以让用户在一个资源隔离的进程中运行应用及其依赖项。运行应用程序所必须的组件都讲打包成一个镜像并可以复用。

docker与虚拟机的比较

在这里插入图片描述
在这里插入图片描述

Why use Docker?

  • 解决的问题:开发环境和生产环境的一致性(依赖,版本,配置,网络。。。)
  • 跨平台容易,方便部署,扩展,迁移。
  • 一次构建、随处运行(Build once,Run everywhere
  • 举例:一般通过LAMP搭建网站时,往往需要很多配置环境的操作,当迁移系统到其他云平台时,需要重新部署和调试,而有了容器技术来打包应用,迁移系统就变得在新的云平台上启动容器那么简单了

docker在DevOps(开发/运维)中的优势?

  • 敏捷:更快速的交付和部署
  • 提高生产力:容器可以看做一个微服务,容器之间相互独立,可以独立升级,避免跨服务的依赖和冲突
  • 节省资源:不需要额外的虚拟化管理程序支持
  • 安全:容器之间的进程是相互隔离的(使用沙箱技术)

Docker architecture

在这里插入图片描述
在这里插入图片描述

Docker Engine

在这里插入图片描述

镜像(Images)

An image is a read-only template with instructions for creating a Docker container.

  • 镜像名包括仓库名、命名空间、标签
  • 仓库可以是公有仓库也可以是私有仓库
  • 命名空间,就是用户名
  • 标签用于区分不同版本的镜像

容器(Containers)

A container is a runnable instance of an image.

镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用。

容器的状态包括:

  • 已创建(created)、重启中(restarting)、运行中(running)、已暂停(paused)和已退出(exited)
  • 容器可以被创建、启动、运行、停止、删除、暂停

仓库(Registry)

用来保存各种打包好的软件镜像

  • 一个容器就是一个独立的虚拟操作系统,互不影响,而镜像就是这个操作系统的安装包
  • 类似面向对象程序设计中的类和实例,镜像是静态的定义,容器是镜像运行时的实体
  • 镜像本身是可读的,启动镜像时,Docker会在镜像的最上一层创建一个可写层

Install Docker

Docker Command

Docker Build

Docker Network

Docker Compose


What is Docker?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值