Docker是一款容器软件。
Docker 是一个开源项目,诞生于2013年初,最初是 dotCloud 公司内部的一个业余项目。它基于Goole公司推出的 Go 语言实现。项目后来加入了Linux基金会,遵从了 Apache2.0协议,项目代码在GitHub上进行维护。
Docker 是一个开源的引擎,可以轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何支持docker的机器上运行。容器是完全使用沙盒机制,相互之间不会有任何接口调用。
Docker 的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整地摆放起来。并且各种各样的货物被装在集装箱里,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送熟菜的船和专门运送货物的船了。只要这些货物在集装箱里封装得好好的就行。那我就可以用一艘大船把他们都运走。
docker 就是类似的理念。云计算就好比大货轮。docker 就是集装箱。
2、docker 的优点。1.快
运行时的性能快,管理操作(启动、停止、开始、重启等等)都是以秒或毫秒为单位的。
2.敏捷像虚拟机一样敏捷,而且会更便宜,在bare metal (裸机)上部署像点一个按钮一样简单。
3.灵活将应用和系统“容器化”,不添加额外的操作系统。
4.轻量在一台服务器上可以部署100-1000个Containers容器。
5.便宜开源的,免费的,低成本的。
docker-ce:社区版
docker-ee:商业版
3、docker缺点所有容器共用 linux kernel 资源,资源能否实现最大限度利用,所以在安全上也会存在漏洞。
4、安装Docker
主机:192.168.193.110
系统:CentOS Linux release 7.9.2009 (Core)
配置:1h2g
hostnamectl set-hostname docker && bash
# 防火墙关闭
ststemctl stop firewalld
# 设置开启不启动
systemctl disable firewalld
# 关闭iptables
yum install iptables-services -y # 安装iptables
# 禁用iptables
service iptables stop && systemctl disable iptables
# 清空防火墙规则
iptables -F
# 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 注意:修改selinux配置文件后,重启机器,selinux才能生效
# 安装ntp
[root@docker ~]# yum install ntp ntpdate -y
[root@docker ~]# ntpdate cn.pool.ntp.org
# 编写计划任务
[root@docker ~]# crontab -e
0 */1 * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/nul
# 重启crontab服务使配置生效
[root@docker ~]# systemctl restart crond
[root@docker ~]# yum install -y wget net-tools nfs-utils lrzsz gcc gcc-c
make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim
ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server
socat ipvsadm conntrack
# 注:安装docker-ce之前,需要先升级系统内核版本
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-5.4.167-1.el7.elrepo.x86_64.rpm
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.167-1.el7.elrepo.x86_64.rpm
# 安装
yum localinstall -y kernel-lt*
# 启动时,选择最新的系统版本
grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg
# 查看最新的系统内核启动版本
grubby --default-kernel
# 重启生效
reboot
# 检测
uname -a
# 配置docker-ce 国内yum源(阿里云)
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce-19.03.9
# Step 4: 开启Docker服务
systemctl start docker && systemctl enable docker
# 查看docker版本信息
docker version
# 检测docker
docker info
# 注:k8s支持的最新的版本,也是最稳定的版本是19
4.6、配置docker镜像加速
登陆阿里云仓库:https://cr.console.aliyun.com/cn-hongkong/instances/images
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8mh75mhz.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker