docker搭建私有仓库

Docker/容器
357
0
0
2022-07-25
标签   Docker

一. 安装docker

1. docker一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

2. 启动docker

systemctl start docker

二. 搭建镜像仓库

拉取Registry私有镜像仓库,在我们本地搭建一个内网的仓库,避免将一些私密项目暴露在公网,引发不必要的风险

1. 下载Registry镜像

docker pull registry

2. 运行Registry镜像

docker run -d --name registry -p 5000:5000 -v /storage/registry:/tmp/registry registry

3. 查看镜像仓库中的所有镜像

curl http://127.0.0.1:5000/v2/_catalog

下图返回的json数据代表暂无任何仓库,因为我们还没有上传任何镜像。

三. 配置仓库可直接通过http方式访问

docker默认是传输方式使用https协议,我们手头上没有sttps证书,所以此处不配置https证书,直接设置可信源,使我们内网可以通过http方式访问

1. 修改vim /etc/docker/daemon.json,添加以下内容:

没有daemon.json文件则新建.

{ 
    "insecure-registries" : [ "your-server-ip:5000" ] 
}

2. 重新加载、重启docker、启动镜像

systemctl daemon-reload
systemctl restart docker
docker start registry

四. 上传镜像至仓库

1. 查看镜像

docker images

2. 将要上传的镜像打Tag

docker tag your-image-name:tagname your-server-ip:5000/your-image-name:tagname

3. 把镜像推送到仓库

docker push your-registry-server-ip:5000/your-image-name:tagname

4.再次验证是否推送成功

curl http://your-server-ip:5000/v2/_catalog

可以看见{"repositories":["registry"]},说明已经推送成功,有一个registry镜像了

五. 客户端下载镜像

现在在本机测试能否下载刚刚上次的镜像,如果此处是在另一台客户机下载,注意要配置http方式访问。

1. 修改vim /etc/docker/daemon.json添加以下内容:

{ 
    "insecure-registries" : [ "your-server-ip:5000" ] 
}

2. 重新加载docker

systemctl daemon-reload
systemctl restart docker

3. 下载镜像

docker pull 10.168.6.109:5000/registry:latest