文章目录
# Docker概述 ## Docker是什么?
- 是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源
- 是在Linux容器里运行应用的开源工具
- 是一种轻量级的“虚拟机”
- Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器
Docker与虚拟机的区别
特性 | Docker容器 | 虚拟机 |
---|---|---|
启动速度 | 秒级 | 分钟级 |
计算能力损耗 | 几乎无 | 损耗50%左右 |
性能 | 接近原生 | 弱于原生 |
系统支持量(单机) | 上千个 | 几十个 |
隔离性 | 资源隔离/限制 | 完全隔离 |
Docker的使用场景
- 打包应用程序简化部署
- 可脱离底层硬件任意迁移
例:服务器从阿里云迁移到腾讯云
Docker的核心概念
- 镜像
一个面向Docker容器引擎的只读模板 - 容器
从镜像创建的运行实例 - 仓库
集中保存镜像的地方
CentOS安装Docker的两种方式
- 使用CURL获得Docker的安装脚本进行安装
- 使用YUM仓库来安装Docker
实际安装Docker
注:目前Docker只能支持64位系统
首先我们先安装依赖环境
先做网络yum源
cd /etc/yum.repos.d/
mkdir backup
mv *.repo backup/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
解释:
yum-utils
提供了yum-config-manager
工具device-mapper
存储驱动程序需要device-mapper-persistent-data
和lvm2
Device-Mapper
是Linux2.6内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker并设为开机自启动
yum install -y docker-ce #安装Docker-ce
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭内核防护
vim /etc/selinux/config
SELINUX=disabled #取消selinux,不取消的话会有一些已知的冲突情况
systemctl start docker.service
systemctl enable docker.service
selinux
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。
配置镜像加速器
在阿里云的自己账号里找到加速地址,填入下方的中括号里
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":["https://q******.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
网络优化
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
service network restart
systemctl restart docker
查看 doker 版本信息
docker version
查找指定镜像
格式:
docker search 关键字
例:查找nginx
镜像
docker search nginx
下载镜像
格式:
docker pull 关键字
例:下载nginx
镜像
docker pull nginx
AUFS
(联合文件系统) 若干层下载
下载后存放在/var/lib/docker
/var/lib/docker/image/overlay/repositories.json
(下载文件信息)
查看下载的镜像信息
docker images
获取镜像信息
格式:
docker inspect 镜像ID号
例:
docker inspect 35c43ace9216
查看镜像信息(grep
筛选)
格式:
docker images | grep 关键字
例:用grep
查看nginx镜像信息
docker images | grep nginx
添加镜像标签
格式:
docker tag 名称[:标签] 新名称[:新标签]
例:
docker tag nginx:latest nginx:web
总结
本文简单介绍了Docker的基础概念、安装方法以及Docker镜像的部分应用