一, 什么是容器: 容器是在隔离的环境里面运行的一个进程, 这个隔离的环境有自己的系统目录文件, 有自己的 ip 地址, 主机名等.
二, 什么是虚拟化: 通过模拟计算机的硬件, 来实现在同一台计算机上同时运行不同的操作系统的技术, 常用的 vmwore,openstack,kvm 都是使用的虚拟化技术.
三, Docker 概述:
Docker 是使用最广泛的开源容器引擎通过内核虚拟化技术 (namespaces 及 cgroups) 来提供容器的资源隔离与资源限制. 由于 Docker 通过操作系统层的虚拟化实现隔离 (对操作系统的内核有要求), 所以 Docker 容器在运行时, 不需要类似虚拟机(VM) 额外的操作系统开销, 从而比 kvm 虚拟机更轻量.
四, docker 的优点:
1, 解决了操作系统和软件运行环境的依赖
2, 对于开发人员来说, 再也不用担心不会部署开发环境
3, 开发环境, 测试环境和生产环境高度一致.
4, 让用户体验产品新特性的又一种思路.
五, 容器 vs 虚拟化:
虚拟化是一种资源管理技术, 是将计算机的各种实体资源, 如服务器, 网络, 内存等抽象, 转化后呈现出来, 使用户以更好的方式来应用这些资源. 虚拟化目标往往是为了在同一个主机上运行多个系统或者应用, 从而提高资源的利用率, 降低成本, 方便管理及容错容灾.
容器技术, 是共用宿主机内核, 第一个进程直接启动服务(nginx,MySQL 等), 开机秒级, 轻量, 损耗少, 但仅支持 Linux 系统.
传统虚拟化方式是在硬件层面实现虚拟化, 需要有额外的虚拟机管理应用和虚拟机操作系统层. 而 docker 容器是在操作系统层面上实现虚拟化, 直接复用本地主机操作系统, 更 加轻量.
六, docker 的基本组成:
Docker Client: 客户端
Ddocker Daemon: 守护进程
Docker Images: 镜像
Docker Container: 容器
Docker Registry: 镜像仓库
七, docker 的安装:
此处是基于 Centos7.x 安装 docker:
- # 安装依赖包
- yum install -y yum-utils device-mapper-persistent-data lvm2
- # 添加 Docker 软件包源(方法一)
- yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- # 添加 Docker 软件包源(方法二)
- curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
- sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo
- # 安装 Docker CE
- yum install -y docker-ce
- # 配置 docker 镜像加速
- VIM /etc/docker/daemon.JSON
- {
- "registry-mirrors": ["https://registry.docker-cn.com","https://bjtzu1jb.mirror.aliyuncs.com"] #镜像加速地址可配置多个
- }
- # 启动 Docker 服务并设置开机启动
- systemctl start docker
- systemctl enable docker
- #官方安装文档: https://docs.docker.com/v18.03/install/linux/docker-ce/centos/#install-docker-ce-1
来源: http://www.bubuko.com/infodetail-3358248.html