zoukankan      html  css  js  c++  java
  • docker 学习笔记(1)

    docker

    intro

    1. docker 是一个用于开发、交互和运行应用程序的开发平台。Docker 能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,可以以与管理应用程序相同的方式来管理基础架构。
    2. docker 提供了在松散隔离的环境(称为容器)中打包和运行应用程序的功能。隔离和安全性可以在给定主机上同时运行多个容器。容器是轻量级的,因为它们不需要虚拟机管理程序的额外负载,而是直接在主机的内核中运行。这意味着与使用虚拟机相比,可以在给定的硬件组合上运行更多的容器。甚至可以在实际上是虚拟机的主机中运行Docker容器!
    3. Docker提供了工具和平台来管理容器的生命周期:
      • 使用容器开发应用程序及其支持组件。
      • 容器成为分发和测试应用程序的单元。
      • 准备就绪后,可以将应用程序作为容器或协调服务部署到生产环境中。无论生产环境是本地数据中心,云提供商还是两者的混合,其工作原理都相同。

    docker engine

    Docker Engine 是具有以下主要组件的客户端-服务器应用程序:

    • 服务器是一种长期运行的程序,称为守护程序进程-daemon( dockerd命令)。
    • REST API,它指定程序可以用来与守护程序进行通信并指示其操作的接口。
    • 命令行界面(CLI)客户端(docker命令)。

    • docker CLI 通过 REST API 或者 CLI 命令控制 daemon 或者与之交互
    • daemon 创建管理对象,例如 images, containers, networks, and volumes

    application

    • 容器非常适合持续集成和持续交付(CI / CD)工作流程
    • Docker的可移植性和轻量级的特性还使您可以轻松地动态管理工作负载,并根据业务需求指示实时扩展或拆除应用程序和服务
    • 在同一硬件上运行更多工作负载

    namespaces

    Docker 使用一种称为 namespaces 提供容器的隔离工作区的技术。运行容器时,Docker 会为该容器创建一组 命名空间

    这些名称空间提供了一层隔离。容器的每个方面都在单独的名称空间中运行,并且对其的访问仅限于该名称空间。

    Docker Engine 在Linux上使用以下名称空间:

    • pid:进程隔离(PID:process ID)
    • net:管理网络接口(NET:networking)
    • ipc:管理访问IPC资源(IPC:interProcess communication)
    • mnt:管理文件系统挂载点(MNT:mount)
    • uts:隔离内核和版本标识符。(UTS:Unix timesharing system)
  • 相关阅读:
    1、编写一个简单的C++程序
    96. Unique Binary Search Trees
    python 操作redis
    json.loads的一个很有意思的现象
    No changes detected
    leetcode 127 wordladder
    django uwsgi websocket踩坑
    you need to build uWSGI with SSL support to use the websocket handshake api function !!!
    pyinstaller 出现str error
    数据库的读现象
  • 原文地址:https://www.cnblogs.com/leafs99/p/docker_learning_01.html
Copyright © 2011-2022 走看看