docker基础
一、Docker简介
- Docker 是一个开源的应用容器引擎,基于 Go 语言开发并遵从 Apache2.0 协议,是一个用于开发,交付和运行应用程序的开放平台。
- Docker 可以让开发者打包他们的应用以及依赖包到一个
轻量级
、可移植
的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化,容器是完全使用沙箱机制
,相互之间不会有任何接口,更重要的是容器性能开销极低。注:沙箱(Sandbox):在计算机安全领域,沙箱是一种程序的隔离运行机制 - Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)。
二、Docker的应用场景
- 打包应用程序从而简化部署过程
- 可脱离底层硬件任意迁移(实现了应用的隔离,将应用拆分并进行解耦)
- 持续集成和持续交付(CI/CD):开发到测试发布
- 部署微服务
- 提供PAAS产品(平台即服务)
三、Docker的核心概念
3.1 镜像
- 一个面向Docker容器引擎的只读模板(简而言之,就是将一个服务已经部署完毕的环境打包)
3.2 容器
- 根据镜像创建的运行实例(即虚拟机)
3.3 仓库
- 集中保存镜像的地方(分为公有仓库和私有仓库,公有仓库就是Docker官方仓库)
四、Docker的安装方法
方法一:使用CURL获得Docker的安装脚本进行安装
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
方法二:使用YUM仓库安装Docker
安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-utils提供了yum-config-manager
device mapper存储驱动程序需要device-mapper-persistent-data和Ivm2
Device Mapper是Linux2.6内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了-个高度模块化的内核架构。
设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker-CE
systemctl stop firewalld.service
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
yum install -y docker-ce
systemctl start docker.service
systemctl enable docker.service
镜像加速
每个账号都有一个自己的镜像加速器
网络优化
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p
systemctl restart network
systemctl restart docker
安装完成