项目实战篇【kubernetes】三 || 部署Docker环境
1、Docker简介
docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。简言之,就是可以在Linux上镜像使用的这么一个容器。
2、部署Docker环境主机
- YN100-22.host.com
- YN100-31.host.com
- YN100-32.host.com
3、安装docker
方法一:
#失败重新安装,先删除rm -f /etc/yum.repos.d/local.rep,docker-ce.repo,在重新安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
方法二:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum update -y && yum install -y docker-ce
4、docker配置
mkdir -p /data/docker
mkdir /etc/docker
vi /etc/docker/daemon.json
{
"data-root": "/data/docker",
"storage-driver": "overlay2",
"insecure-registries": ["registry.access.redhat.com","quay.io","harbor.yn.com"],
"registry-mirrors": ["https://qc20rc43.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"live-restore": true,
"log-driver": "json-file",
"log-opts": { "max-size": "100m" },
#开启远程控制
"hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}
5、启动docker
systemctl daemon-reload
systemctl start docker
systemctl enable docker
6、开启tcp远程控制问题
在./etc/docker/daemon.json中添加"hosts":["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]启动失败,原因是 docker 的 socket 配置hosts出现了冲突,需要注意的是配置host也能重启但是不生效。
解决方法:
centos中找到/usr/lib/systemd/system/docker.service,将其中的ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock修改成ExecStart=/usr/bin/dockerd;
再执行systemctl reset-failed docker.service && systemctl restart docker;