• Docker入门


    Docker学习笔记

    为什么需要用Docker容器?

    • 环境配置的难题:
      • 程序换一台机器需要配置各种环境, 主要包括操作系统、 各种库和组件、 各种依赖和环境变量。
    • 虚拟机有几个缺点:
      • 相对于一个小程序,光是启动虚拟机所占资源比较多。
      • 虚拟机冗余步骤多,虚拟机是完整的操作系统,一些系统级别的操作步骤往往无法跳过
      • 虚拟机启动慢,光是开机就要等很久。
    • Linux容器(Linux Containers, 缩写LXC): Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。
      • 相当于是对进程套了一个保护层,对容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现了与底层系统的隔离。
      • 具有启动快、 资源占用少、 体积小的特点,但是接口可能不是特别方便。
    • Docker是对Linux容器的一种封装, 提供简单易用的容器使用接口。
      • Docker是最流行的Linux容器解决方案。
      • Docker将应用程序与该程序的依赖,打包在一个文件里。运行这个文件就会生成一个虚拟容器。
      • 程序在容器里运行就好像在真实的物理机上运行一样,有了Docker就不用操心环境问题。
      • Docker的接口相当简单, 用户可以方便地创建和使用容器, 把自己的应用放入容器。
      • 容器还可以进行版本管理、 复制、 分享、 修改,就像管理普通的代码一样。

    Docker的用途

    • 提供一次性的环境, 比如本地测试他人的软件、 持续集成的时候提供单元测试和建构的环境。
    • 提供弹性的云服务, 因为Docker容器可以随开随关, 很适合动态扩容和缩容。
    • 组建微服务架构, 通过多个容器, 一台机器可以跑多个服务, 因此本机就可以模拟出微服务架构。

    Docker运行的命令

    • 查看docker安装的版本, docker version 或者 docker info。
    • 将用户加入Docker用户组: sudo usermod -aG docker $USER
    • Docker是服务器---客户端架构,命令行运行docker的时候,需要本机有Docker的服务。
      • 通过 sudo service docker start 或者 sudo systemctl start docker启动。

    image 文件

    • Docker把应用程序及其依赖,打包在image文件里,只能通过image文件才能生成Docker容器。
      • image文件可以看作是容器的模板,Docker根据image文件生成容器的实例。
      • 同一个image文件里,可以生成多个同时运行的容器实例。
      • image是二进制文件,一个image文件往往通过继承另一个image文件,加上一些个性化设置而生成。
      • docker image ls列出本机所有image文件。
      • docker image rm [imageName]删除image文件。
    • image文件是通用的, 一台机器的image文件拷贝到另一台机器,照样可以使用。
    • 我们应该尽量使用别人制作好的image文件,而不是自己制作。即便要定制也应该基于别人的image文件进行加工,而不是从零开始制作。
    • Docker的官方仓库Docker Hub是最重要、最常用的image仓库,出售自己制作的image文件也是可以的。

    实例: Hello World

    • Docker是一个容器工具,提供虚拟环境,站在Docker的角度上, 软件就是容器的组合: 业务逻辑容器、数据库容器、存储容器、队列容器····Docker使得软件可以拆分成若干个标准化容器,像搭积木一样组合起来。
    • 微服务(microservices)的思想: 软件把任务外包出去,让各种外部服务完成这些任务,软件本身只是底层服务的调度中心和组装层。
    • image文件生成的容器实例,本身也是一个文件, 称为容器文件,一旦容器生成,就会同时存在两个文件: image文件和容器文件。
    • 关闭容器并不会删除容器文件,只是容器停止运行而已。
      • docker container ls
      • docker container ls --all

    Dockerfile文件

    • 学会使用image文件以后,还需要了解如何生成image文件,一般用Dockerfile文件生成image文件;Dockerfile文件是一个文本文件,用来配置image。 Docker根据该文件生成二进制的image文件。
  • 相关阅读:
    习题2-4 求交错序列前N项和 (15分)
    015_Web WPI
    014_捆绑包与显示模式
    013_模型验证
    012_模型绑定
    011_URL和Ajax辅助器方法
    010_模板辅助器方法
    009_辅助器方法
    008_视图
    007_控制器可扩展性
  • 原文地址:https://www.cnblogs.com/longjiang-uestc/p/9957354.html
Copyright © 2020-2023  润新知