docker的私有仓库的搭建

author: headsen chen 

date:2018-06-30  23:14:16

服务端(私有仓库:centos7_64位),使用端:centos6_64位

1、仓库的搭建:

安装docker:

yum -y install epel-release
yum -y install docker-io
systemctl start docker

将本地的仓库换成阿里云的镜像仓库

vim /etc/docker/daemon.json  # 内容如下:

{
  "registry-mirrors": ["https://cvv5tle1.mirror.aliyuncs.com"]  # 这里的镜像源是我专属的, 其他人用可能起不到加速效果
}
 systemctl daemon-reload
 systemctl restart docker

在本地注册阿里云的镜像:
docker login --username=woccb registry.cn-hangzhou.aliyuncs.com/woccb2/chen
输入设置的密码

运行一个生成本地仓库的脚本:

sh registry-install.sh

[root@localhost ~]# cat registry-install.sh 
#!/bin/bash
# Description: create a private registry v2.2
# Version: 0.2
# Author: headsen chen


set -o xtrace if [[ $UID -ne 0 ]]; then echo "Not root user. Please run as root." exit 0 fi # Install Docker if not docker -v if [[ $? -ne 0 ]]; then echo "Please install Docker first." exit 0 fi REGISTRY_VERSION=2.2 # Download registry image v2.2 docker pull registry:${REGISTRY_VERSION}
# Start registry container mkdir
/opt/registry docker run -d -p 5000:5000 --restart=always -v /opt/registry:/var/lib/registry --name hummer_registry registry:${REGISTRY_VERSION}

检测生成的docker仓库:

[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
eaa972942548        registry:2.2        "/bin/registry /et..."   35 minutes ago      Up 35 minutes       0.0.0.0:5000->5000/tcp   hummer_registry
[root@localhost ~]# 

查询开放的端口:

[root@localhost ~]# lsof -i:5000
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 18119 root    4u  IPv6  50113      0t0  TCP *:commplex-main (LISTEN)

2、客户端配置:

安装

yum -y install epel-release
yum -y install device-mapper-event-libs
yum -y install docker-io

修改配置文件(不修改无法和本地仓库进行认证连接)

vim /etc/sysconfig/docker   # 加上黄色标注的部分就可以了

[root@localhost ~]# cat /etc/sysconfig/docker
# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker -d

other_args="--insecure-registry 192.168.159.131:5000"
DOCKER_CERT_PATH=/etc/docker

# Resolves: rhbz#1176302 (docker issue #407)
DOCKER_NOWARN_KERNEL_VERSION=1

 service docker restart

测试:下载一个镜像并上传到本地仓库

docker pull webdevops/nginx
docker images
docker tag webdevops/nginx 192.168.159.131:5000/nginx-chen # 注意这个固定的格式,否则报错
docker push 192.168.159.131:5000/nginx-chen  #出现以下提示表示push成功
[root@localhost ~]# docker push 192.168.159.131:5000/nginx-chen 
The push refers to a repository [192.168.159.131:5000/nginx-chen] (len: 1)
ca89ae17bc84: Image already exists 
2eed794b7b9a: Image successfully pushed 
15a4031b10d3: Image successfully pushed 
15a4031b10d3: Buffering to Disk 
6c4863f14961: Image already exists 
aa02f81f314b: Image already exists 
0893fa3a44c9: Image successfully pushed 
6565352c3a2b: Image successfully pushed 
6565352c3a2b: Buffering to Disk 
e86584bf870d: Image successfully pushed 
928d4898ab17: Image successfully pushed 
928d4898ab17: Buffering to Disk 
073806b60691: Image already exists 
7eb5c12881e1: Image already exists 
63474e4f2842: Image successfully pushed 
f7fdafe228d3: Image successfully pushed 
8475d7efa2f0: Image successfully pushed 
565220263a7c: Image successfully pushed 
7d614f18edc3: Image successfully pushed 
Digest: sha256:417cfafb30d330f5de3c9cef12ee935a321d16593bdd903de3d1017ad3eaa3f3
[root@localhost ~]#
View Code

删除下载的镜像,并从本地的仓库进行下载,看速度是否提高:

docker rmi webdevops/nginx
docker rmi 192.168.159.131:5000/nginx-chen
docker images
docker pull 192.168.159.131:5000/nginx-chen # 此时从本地的仓库进行下载,发现是极速的秒传

查询私有仓库中有哪些镜像: 

docker search registry_ip:5000/

猜你喜欢

转载自www.cnblogs.com/kaishirenshi/p/9249059.html