简介
一个完整的项目需要有自己的私有厂库,方便镜像的上传下载版本管理。
服务端安装
安装yum-utils ,它可以提供 yum-config-manager 来管理repository及扩展包
yum install -y yum-utils device-mapper-persistent-data lvm2
添加稳定的docker源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
启动extras额外的依赖库
yum-config-manager --enable extras
启动docker.repo源
yum-config-manager --enable docker-ce-edge
安装并启动docker
更新yum的安装索引
yum makecache fast
查看yum里能够安装的docker-ce的版本
yum list docker-ce.x86_64 --showduplicates |sort -r
安装
yum -y install docker-ce-18.03.1.ce
启动并开机启动
systemctl start docker && systemctl enable docker.service
下载registry 镜像并且run起来
docker pull registry
docker run -d -p 5000:5000 -v /data/myregistry:/var/lib/registry registry
进入容器我们查看容器的目录
docker exec -it 7c92ce5571d5 sh
exit 退出容器
然后在”/etc/docker/“目录下,创建”daemon.json“文件。并添加
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["192.168.5.80:5000"]
}
注意书写格式为json格式,有严格的书写要求;
第1行是国内镜像源
第2行是docker私有仓库地址;这里用的是域名也可以是IP,就是docker私有仓库的地址,添加后连接docker私有仓库就是用http协议了
注意:每个版本的docker修改配置内容都不同
vim /etc/sysconfig/docker
OPTIONS='--selinux-enabled --insecure-registry 192.168.5.80:5000'
重新启动docker 服务
systemctl restart docker
可以自己构建镜像,也可以pull镜像下来,再打tag,再push到私有厂库
eg:
docker pull nginx
docker tag ngin 192.168.5.80:5000/fe-nginx
docker push 192.168.5.80:5000/fe-nginx
可以看到我们已经把镜像上传到了 我们自己搭建的私有镜像仓库。我们看下存放仓库的位置
先查看宿主机:
ll /myregistry/docker/registry/v2/repositories
也可以在页面上看
http://192.168.5.80:5000/v2/_catalog
客户端配置
客户端上都需要修改
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["192.168.5.80:5000"]
}
重启服务
systemctl restart docker
拉取镜像
docker pull 192.168.5.80:5000/fe-nginx