搭建私有镜像中心
安装 JFrog Container Registry
在 master 节点执行
-
vim ~/.bash_profile
export JFROG_HOME=/etc
source ~/.bash_profile
mkdir -p $JFROG_HOME/artifactory/var/etc/ cd $JFROG_HOME/artifactory/var/etc/ touch ./system.yaml chown -R 1030:1030 $JFROG_HOME/artifactory/var chmod -R 777 $JFROG_HOME/artifactory/var
-
启动 JCR
docker run --name artifactory-jcr -v $JFROG_HOME/artifactory/var/:/var/opt/jfrog/artifactory -d -p 8081:8081 -p 8082:8082 registry.cn-beijing.aliyuncs.com/qingfeng666/artifactory-jcr:7.4.3
镜像中心如果在重启机器之后,不能访问了,需要清空
$JFROG_HOME/artifactory/var/etc/
目录重新创建和重新 run 容器
配置私有镜像中心
-
在 master 和 node 节点上分别配置 JCR 的本地域名解析
在 master 和 node 节点添加 art.local:
vim /etc/hosts
192.168.190.131 master art.local 192.168.190.132 node1 192.168.190.133 node2
art.local 是 JFrog Container Registry 的服务地址
-
配置 Docker insecure registry
在 master 和 node 节点都需要执行:
vim /etc/docker/daemon.json
{ "registry-mirrors": ["https://registry.docker-cn.com", "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ], "insecure-registries": ["art.local:8081"] }
systemctl restart docker
docker info |grep art
可以看到
art.local:8081
-
初始化 JCR
在 master 节点:
docker start artifactory-jcr
浏览器访问:
http://192.168.190.131:8082/ui/login/
登录的用户名默认是 admin 密码默认是 password。登录之后,需要修改密码
执行 docker login
docker login art.local:8081
输入用户名密码
可以看到
Username: admin Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
配置 JCR 仓库
创建五个仓库
- docker-local 开发(自带)
- docker-test 测试(自己创建)
- docker-release 运维(自己创建)
- docker-remote(自带)
- docker-virtual(自带)
推送镜像到私有镜像中心
登录镜像中心
docker login art.local:8081
拉取或者创建一个镜像
docker pull registry.cn-beijing.aliyuncs.com/qingfeng666/kubeblog:1.0
给镜像打标签
docker tag registry.cn-beijing.aliyuncs.com/qingfeng666/kubeblog:1.0 art.local:8081/docker-local/kubeblog:1.0
上传
docker push art.local:8081/docker-local/kubeblog:1.0
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}