第一本docker书笔记

第一本docker书笔记

第一本docker书笔记

笔记是从xmind中导出,看xmind格式会更方便,免费资源地址

1. 简介

1.1 Docker简介

  • Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。

  • 1.1.1 提供一个简单、轻量的建模方式

  • 1.1.2 职责的逻辑分离

    • 开发人员只需要关心容器中运行的应用程序,而运维人员只需要关心如何管理容器
    • 加强开发人员写代码环境与程序要部署的生产环境的一致性。
  • 1.1.3 快速高效的开发生命周期

  • 1.1.4 鼓励使用面向服务的组件

    • 推荐单个容器只运行一个应用程序或进程。

1.2 Docker组件

  • 1.2.1 Docker客户端和服务器

  • 1.2.2 Docker镜像

    • 镜像是Docker世界的基石,用户基于镜像来运行自己的容器。镜像体积很小,非常便携,易于分享、存储和更新。

    • 镜像是Docker生命周期中的构建部分,它是基于联合文件系统的一种层次的结构,由一些列指令一步一步构建出来。

    • 公共镜像

      • Docker公司运营的公共镜像叫Docker Hub,用户可以注册、分享并保存自己的镜像。
      • 也可以保存用户私有的镜像,组织或团队内部可见
    • 私有镜像

  • 1.2.3 Registry

    • 保存用户构建的镜像。
    • 架设私有Registry,保存在防火墙后面。
  • 1.2.4 容器

    • 容器是基于镜像启动,容器中可以运行一个或多个进程。
    • 容器是Docker启动或者执行阶段。
    • 容器就是一个镜像格式、一系列标准的操作,一个执行环境。
    • Docker借鉴了标准集装箱的概念,Docker运输软件。每个容器都包含一个软件镜像,并且可以对软件镜像进行一些操作。

1.3 我们能用Docker做什么

  • 加速本地开发和构建流程,使其更加高效、更加轻量化。本地开发人员可以构建、运行并分享Docker容器。
  • 能够让独立服务或者应用程序在不同的环境中,得到相同的结果。
  • 用Docker创建隔离的环境来进行测试。
  • 提供软件即服务的应用程序。
  • 高性能、超大规模的宿主机部署。

1.4 Docker与配置管理

  • Docker和配置管理工具可能都需要部署。

1.5 Docker的技术组件

  • Docker可以运行与任何安装现代Linux内核的x64主机上。
  • 一个原生的Linux容器格式,libcontainer或者lxc
  • Linux内核的命名空间(namespace),用于隔离文件系统、进程和网络。
  • 文件系统隔离:每个容器都有自己的root文件系统
  • 进程隔离:每个容器都运行在自己的进程环境中。
  • 网络隔离:容器间的虚拟网络接口和IP地址都是分开的。
  • 资源隔离和分组:使用cgroups将cpu和内存之类的资源独立分配给每个容器。
  • 写时复制:文件系统是通过写时复制创建的,这就意味着文件系统是分层的、快速的,而且占用的磁盘空间更小。
  • 日志:容器产生的STDOUT、STDERR和STDIN这些IO流都会被收集并记入日志,用来进行日志分析和故障排错。
  • 交互式shell:用户可以创建一个伪tty终端,将其连接到STDIN,为容器提供一个交互式shell。

1.6 本书的内容

  • 安装Docker、尝试使用Docker容器、构建Docker镜像、管理并共享Docker镜像、运行、管理更复杂的Docker容器、将Docker容器的部署纳入测试流程、构建多容器的应用程序和环境、介绍使用Figer进行Docker编配的基础,探索Docker的API。

1.7 Docker资源

  • Hub、官方网站、博客、文档、入门指南、GitHub源代码、Forge、StackOverFlow问答主页。

2. 安装Docker

2.1 安装Docker的先决条件

  • 64位CPU架构的计算机、Linux3.8或更高版本内核、内核必须支持一种合适的存储驱动、内核必须支持并开启cgroup和命名空间功能。

2.2 在unbutu中安装Docker

  • uname -a 检查内核版本和cpu架构
  • DeviceMapper提供了一种将块设备映射到高级虚拟设备的方法,它支持自动精简配置,可以在一个文件系统中存储多台虚拟设备(Docker镜像中的层)。

2.9 Docker守护进程

3. Docker入门

3.1 确保Docker已经就绪

  • docker info

3.2 运行我们的第一个容器

  • docker --help

  • docker run创建和启动容器

    • docker run -i -t ubuntu /bin/bash
    • -i - 保证容器中的STDIN是开启的,标准输入
    • -t - 为要创建的Docker容器分配一个伪tty终端
    • 首先docker会检查本地是否存在ubuntu镜像,如果本地还没有该镜像的话,那么docker会连接官方维护的Docker Hub Registry,查看是否有镜像。如果有,下载保存到本地。随后,Docker在文件系统内部用这个镜像创建了一个新容器。该容器拥有自己的网络、IP地址,以及一个用来和宿主机进行通信的桥接网络接口。最后,我们告诉新容器需要运行/bin/bash命令启动容器内的shell。

3.3 使用第一个容器

  • hostname、cat /etc/hosts、ip a

    • exit退出
  • docker ps -a 列出所有容器

    • docker ps列出运行中的容器

      • docker ps -l

3.4 容器命名

  • –name

    • 唯一、docker rm移除同名容器

3.5 重新启动已经停止的容器

  • docker start/restart ID/name

3.6 附着到容器上

  • docker attach ID/name

    • exit容器也会停止

3.7 创建守护容器

  • -d - 容器后台运行

3.8 容器内部都在干些什么

  • docker logs ID/name

    • docker logs -ft ID/name

      • docker logs --tail 10 ID/name

        • docker logs --tail 0 -f ID/name

3.9 查看容器内的进程

  • docker top ID/name

3.10 在容器内部运行进程</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值