Docker

官网:https://www.docker.com                                     Docs:https://docs.docker.com

Docker 是一个开源的容器引擎,它基于 LCX 容器技术,使用 Go 语言开发

  • 源码托管在 GitHub 上,并遵循 Apache 2.0 协议

Docker 是一个 C / S 结构的系统客户端( 指令 )通过 Socket 访问运行在宿主机上的 Docker 的守护进程( 服务 )

  • Docker 客户端:Docker Client,用于与 Docker 进行交互的最主要方式
    • 连接本地服务端:当在终端中输入 Docker 指令时,就会在服务端产生相应的作用,并把结果返回给客户端
    • 连接远程服务端:除本地服务端外,还可以通过更改或指定 DOCKER_HOST 连接远程服务端
  • Docker 服务端:Docker daemon,其实就是 Docker Server                                 // Docker 核心技术:
    • 它负责监听 Docker API 请求( 如,Docker Client ),并管理 Docker 对象: 镜像、容器、数据卷、网络
  • Docker 仓库:Docker Registries,专门用于存储镜像的云服务环境
    • Docker Hub,是一个公有的存放镜像的地方,当然,也可以自己搭建私有仓库

使用 Docker,可以轻松的为任何应用创建一个轻量级、可移植、自给自足的容器,快速解决生产问题,主要表现为:

  • 保证程序运行环境的一致性
  • 降低配置开发环境、生产环境的复杂度和成本
  • 实现程序的快速部署和分发

Docker 核心技术

# 安装 Docker  _   配置阿里云镜像加速

  • Install Docker Desktop for Mac                            // 帮助文档
  • Install Docker Engine on Linux( CentOS )                  // 帮助文档
    • Docker 的生命周期管理:启动、关闭、重启、状态及卸载
    • 常见 bug:普通用户登录的状况下,在使用 docker images 时,必须添加 sudo

# Docker 常用命令帮助命令、镜像命令、容器命令、其他命令


  • 数据卷:容器与宿主机之间、容器与容器之间的共享存储方式、类似于虚拟机与主机之间的共享文件目录
  • Docker 网络:简单来说就是,外部或容器之间,如何访问的网络方式,如:bridge 模式、host 模式
    • Docker 网络架构
      • 原生网络模式
        • 容器互联
      • 自定义网络模式( 推荐 )