搭建私有镜像私有仓库 docker

2024-10-18 22:30 标签:镜像私有仓库

一、Docker私有镜像仓库配置

1、创建私有仓库存放路径

复制
mkdir -p /data/docker-registry & cd /data/docker-registry

2、创建docker-compose.yml

复制
version: '3'
services:
  registry:
    container_name: docker-registry
    image: registry:2
    ports:
      - 5000:5000
    volumes:
      - /data/docker-registry:/var/lib/registry

3、启动 docker-registry 镜像

复制
docker-compose up -d

注:

(1)docker-compose安装参考下文

docker-compose安装

(2)运行报错:Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

参考timeout报错文章


4、创建私有镜像仓库的账号和密码

复制
yum install httpd-tools;
htpasswd -Bc auth.htpasswd 用户名;

二、Docker Daemon守护进程配置

1、添加配置信息

复制
vi /etc/docker/daemon.json

2、文件填写的信息,ip为服务器的主机ip值

复制
{
  "registry-mirrors": ["https://docker-proxy.741001.xyz","https://registry.docker-cn.com"],
  "insecure-registries": ["ip:5000"]
}

3、重启 Docker Daemon,私有镜像仓库安装完成

复制
systemctl daemon-reload & systemctl restart docker

三、上传镜像到私有镜像仓库

1、创建Dockerfile文件,以registry为例创建简单的新镜像(可以用应用jar包打包镜像):

复制
From registry:2
EXPOSE 5001

2、创建新镜像,ip为服务器的主机ip值

复制
docker build -t ip:5000/registry123:latest .

3、登录,输入账号密码

复制
docker login ip:5000

4、上传

复制
docker push ip:5000/registry123:latest

5、查看上传结果

复制
curl -X GET http://ip:5000/v2/_catalog

四、拉取私有镜像仓库的镜像

1、添加配置信息

复制
vi /etc/docker/daemon.json

2、文件填写的信息,ip为私有仓库服务器的主机ip值

复制
{
  "registry-mirrors": ["https://docker-proxy.741001.xyz","https://registry.docker-cn.com"],
  "insecure-registries": ["ip:5000"]
}

3、登录,输入账号密码,ip为私有仓库服务器的主机ip值

复制
docker login ip:5000

4、拉取镜像,ip为私有仓库服务器的主机ip值

复制
docker pull ip:5000/register123:latest

注:可能出现的问题

(1)Error response from daemon: Get "https://xxx/v2/": http: server gave HTTP response to HTTPS client 错误

参考 daemon https 文章

最新技术文章
最新美图美景