docker-ce手动搭建笔记
一.准备阶段:
1.依赖服务
yum install -y yum-utils device-mapper-persistent-data lvm2
2.添加官方镜像源:https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker-ce
#如出现以下错误需请直接使用阿里yum源
此处centos测试环境为本地yum源加docker在线yum源,报错原因是找不到对应版本的containerd.io包(安装docker-ce会安装docker-ce,docker-ce-cli,containerd.io)
Error: Package: 3:docker-ce-19.03.13-3.el7.x86_64 (docker-ce-stable)
Requires: container-selinux >= 2:2.74
Error: Package: containerd.io-1.3.7-3.1.el7.x86_64 (docker-ce-stable)
Requires: container-selinux >= 2:2.74
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
#备份本地yun源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#替换阿里yum源:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install docker-ce -y
4.删除docker镜像源(后面将采用国内yum源地址)
rm /etc/yum.repos.d/docker-ce.repo
二.替换docker仓库地址(二选一):
1.国内仓库地址
https://registry.docker-cn.com
#启动docker服务
systemctl start docker
#添加或修改daemon配置文件(如没有文件需编写)
vim /etc/docker/daemon.json
{
#国内仓库地址
"registry-mirrors":[
#可替换为阿里加速地址
"https://registry.docker-cn.com"
]
}
2.阿里云镜像加速地址
需前往阿里云获取加速地址:
登录阿里云后,新开一个网页访问下方(容器Hub控制台获取镜像加速地址)
https://cr.console.aliyun.com/cn-chengdu/instances/mirrors
#选择对应系统,可直接修改上方 1 中的地址
#也可通过以下方法或阿里官方文档进行修改
#请将下方“此处为你的加速地址”替换为加速地址
sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=此处为你的加速地址|g" /etc/systemd/system/docker.service
sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=此处为你的加速地址|g" /etc/systemd/system/docker.service
sudo systemctl daemon-reload
sudo service docker restart
三.设置私有仓库(二选一):
1.在daemon配置文件中添加
#以代码块的方式添加在加速地址下方(或直接添加在加速地址下方,注意以逗号隔开)
vim /etc/docker/daemon.json
#设置本地私有仓库
{
"insecure-registries":[
"本地ip地址及端口号"
]
}
#生效配置并重启docker
systemctl daemon-reload
systemctl restart docker
2.docker配置文件直接修改
#如果在第二步中已执行可不执行
sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
#修改(添加)配置文件
vim /etc/systemd/system/docker.service
#配置私有仓库需在加速地址后添加私有地址,例如:
ExexStart=/usr/bin/docker --registry-mirror=加速地址 --insecure-registr 私有仓库ip地址及对应端口
#或者
ExecStart=/usr/bin/docker --registry-mirror=此处为你的加速地址 --registry-mirror=加速地址 --insecure-registry 私有仓库ip地址及对应端口
#生效配置并重启docker
systemctl daemon-reload
systemctl restart docker
四.获取新版registry创建私有仓库:
1.获取
docker pull registry:latest
2.安装
docker run --name registry -d -p 5000:5000 -v /opt/data/registry:/tmp/registry --restart=always registry
3.打标签
docker tag registry:latest 镜像ID 需推送到仓库的镜像名
例:
docker tag 2d4f4b5309b1 192.168.100.10:5000/registry:latest
4.推送到本地仓库
docker push 需推送到仓库的镜像名
例:
docker push 192.168.100.10:5000/registry:latest
推送如出现以下报错,建议检查daemon.json或者docker.service中镜像仓库配置,是否systemctl daemon-reload;systemctl restart docker
,私有仓库状态是否正在运行(docker ps -a)
The push refers to repository [192.168.100.10:5000/wordpress]
Get https://192.168.100.10:5000/v2/: http: server gave HTTP response to HTTPS client
五.docker-compose安装(github):
#获取compos对应版本安装
https://github.com/docker/compose
#github下载较慢,这里可以采用道云下载(
http://get.daocloud.io/#install-compose
)
#此处选择1.27.4版本安装
#github:
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-
`uname -m` > /usr/local/bin/docker-compose
#daocloud:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#`uname -s` 检测系统版本(linux,unix)
#`uname -m`检测系统位数(x86_64)
#1.27.4 为当前最新版本
#为compose添加文件可执行权限
chmod +x /usr/local/bin/docker-compose
#查看版本(此处若出现异常请删掉/usr/local/bin/docker-compose后重新获取)
docker-compose -v