Centos 7.9 Install Docker Insecure Registry

1. Mirror storage planning

Create two directories

  • A docker data storage directory: /data/docker, the default is generally /var/lib/docker for linux, and for windowsC:\ProgramData\docker
  • A registry image warehouse data directory: /data/registry
mkdir /data/docker
mkdir /data/registry

2. Install custom docker

yum install -y yum-utils 
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Configuration

cat <<EOF> /etc/docker/daemon.json 
{
    
    
   "exec-opts": ["native.cgroupdriver=systemd"],
   "data-root": "/data/docker",
   "live-restore": true,
   "log-driver": "json-file",
   "log-opts": {
    
    
     "max-size":  "100m",
     "max-file": "5"
    }
 }
EOF

start up

sudo systemctl start docker && systemctl enable docker  && systemctl status docker

verify

$ ls /data/docker/
buildkit  containers  engine-id  image  network  overlay2  plugins  runtimes  swarm  tmp  volumes

3. Deploy registry

Pull image

docker pull registry:2.8.3

Create a mirror warehouse

docker run -tid --restart=always --name registry -p 80:5000 -v /data/registry:/var/lib/registry registry:2.8.3

check status

$ docker ps
CONTAINER ID   IMAGE            COMMAND                  CREATED         STATUS         PORTS                                       NAMES
238a044893a5   registry:2.8.3   "/entrypoint.sh /etc…"   5 seconds ago   Up 4 seconds   0.0.0.0:80->5000/tcp, :::80->5000/tcp   registry

Configure domain name resolution

echo "192.168.10.22  registry01.ghostwritten.com" >> /etc/hosts

Change setting

$ cat /etc/docker/daemon.json
{
    
    
   "exec-opts": ["native.cgroupdriver=systemd"],
   "insecure-registries": ["registry01.ghostwritten.com"],  #添加
   "data-root": "/data/docker",
   "live-restore": true,
   "log-driver": "json-file",
   "log-opts": {
    
    
     "max-size":  "100m",
     "max-file": "5"
    }
 }

$ systemctl restart docker

4. Verify the mirror warehouse

Check warehouse

$ curl 192.168.10.22/v2/_catalog
{
    
    "repositories":[]}

Push image

$ docker tag registry:2.8.3 registry01.ghostwritten.com/library/registry:2.8.3
$ docker push registry01.ghostwritten.com/library/registry:2.8.3
The push refers to repository [registry01.ghostwritten.com/library/registry]
ab4798a34c77: Layer already exists 
0b261c932361: Layer already exists 
d95d36f1fde7: Layer already exists 
b4fcd5c55862: Layer already exists 
cc2447e1835a: Layer already exists 
2.8.3: digest: sha256:386cdae4ba70c368b780a6e54251a14d300281a3d147a18ef08ae6fb079d150c size: 1363

Pull image image

Log in to another node, repeat the above steps to install docker, configure docker, and configure domain name resolution to pull the image.

docker pull registry01.ghostwritten.com/library/registry:2.8.3

reference:

Guess you like

Origin blog.csdn.net/xixihahalelehehe/article/details/134633564