Docker
-
一次封装,多次运行
-
Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源
-
是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”
-
Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。
-
打包应用程序简化部署,可脱离底层硬件任意迁移
Docker与虚拟机KVM的区别
Docker的核心概念
-
镜像
一个面向Docker容器引擎的只读模板,是创建容器的基础,类似于快照 -
容器
从镜像创建的运行实例,即容器由镜像创建而来,每个容器相互隔离 -
仓库
集中保留镜像的地方,仓库分为
公有仓库:Docker官方仓库
私有仓库:个人化、私有化的仓库
docker的特点
-
轻量级
在一台机器上运行的Docker容器共享该机器的操作系统内核; 他们立即开始并使用更少的计算和内存。图像由文件系统层构建并共享公用文件。这最大限度地减少了磁盘使用量,图像下载速度更快 -
标准
Docker容器基于开放标准,可在所有主要Linux发行版,Microsoft Windows以及任何基础架构(包括虚拟机,裸机和云中)上运行 -
安全
Docker容器将应用程序彼此隔离并从底层基础架构中分离出来。Docker提供了最强大的默认隔离功能,可以将应用程序问题限制在一个容器中,而不是整个机器上
docker安装
首先建议先执行一次卸载操作,以免有旧版本残留
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装管理repository及扩展包的工具
#设置存储库
yum install -y yum-utils
#使用阿里云源
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装引擎,并启动
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker && systemctl enable docker
#查看版本
docker version
镜像加速器
使用阿里云源加快镜像拉取速度
网络优化
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
systemctl restart network
systemctl restart docker
配置文件修改(可选)
#registry-mirrors 以上添加
"graph":"/data/docker", #数据目录
"storage-driver":"overlay2", #存储引擎
"insecure-registries":["registry.access.redhat.com","quary.io"], #私有仓库
#registry-mirrors 以下添加
"bip":"172.184.70.1/24", #docker网络
"exec-opts":["native.cgroupdriver-systemd"], #启动时的额外参数
"live-restore":true #当docker容器引擎停止的时候,使用docker运行的容器还能继续运行