一、安装前准备:

  1. 配置本地yum源

    1).mount -t iso9660 -o loop /dev/cdrom /media/centos

    2).vi /etc/yum.repo.d/Centos_localsource.repo

1
2
3
4
5
[CentOS7-Localsource]
name=CentOS7
baseurl= file : ///media/centos
enabled=1
gpgcheck=0

2.配置网络yum源

1
2
3
4
5
6
下载163网易的yum源:
wget http: //mirrors .163.com/.help /CentOS7-Base-163 .repo
中科大的yum源:
wget http: //centos .ustc.edu.cn /CentOS-Base .repo
sohu的yum源
wget http: //mirrors .sohu.com /help/CentOS-Base-sohu .repo

3.yum clean all

 yum makecache

yum isntall vim net-tools #(支持ifconfig)

(setenforce 0   && systemctl stop firewalld)


二、安装docker和rancher

  1. 下载docker的rpm包(https://download.docker.com/linux/centos/7/x86_64/stable/Packages/)

    docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm

  2. 安装docker

    yum install docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm

  3. 配置docker加速器

    vi /etc/docker/daemon.json

1
2
3
{ "registry-mirrors" : [ "http://d7e77b19.m.daocloud.io" ]}
或 
{ "registry-mirrors" : [ "https://registry.docker-cn.com" ]}

4.systemctl start docker

5.docker pull rancher/server

6.启动rancher server

1
docker run -d -v /data1/mysql:/ var /lib/mysql --name=rancher-server --restart=unless-stopped -p  7070 : 8080  rancher/server

7.rancher页面配置及rancher-agent安装见http://blog.chinaunix.net/uid-29757900-id-5676591.html


三、安装registry

  1. docker pull registry

  2. 运行registry容器

1
docker run -d --restart=always -p  5000 : 5000  --name repo -v / var /lib/registry:/ var /lib/registry  registry

3.修改/etc/docker/daemon.json添加"insecure-registries":["registry:5000"](参考:http://www.cnblogs.com/lin1/p/6207348.html)

1
{ "registry-mirrors" : [ "https://registry.docker-cn.com" ], "insecure-registries" :[ "192.168.206.134:5000" ] }

4.重启docker

systemctl restart docker

5.将公有仓库下载docker包上传到私有仓库(http://www.cnblogs.com/fengzheng/p/5168951.html)

1
2
3
4
5
6
7
8
9
10
11
#下载mysql镜像
docker pull mysql       
#重新标记一个本地镜像为私有仓库的版本,这里将本地的mysql latest标记为 192.168 . 206.134 : 5000 /mysql:yang
docker tag mysql:latest  192.168 . 206.134 : 5000 /mysql:yang
#将本地镜像推送到本地仓库中
docker push  192.168 . 206.134 : 5000 /mysql:yang
#查看本地仓库中的镜像列表
[root@jeff yum.repos.d]# curl http: //localhost:5000/v2/mysql/tags/list
{ "name" : "mysql" , "tags" :[ "yang" ]}
#拉取本地仓库中的镜像
docker pull localhost: 5000 /mysql:yang

6.私有仓库 Registry中的镜像管理

1
2
3
4
5
6
7
8
9
10
11
12
#检查registry上的镜像
for  in  `curl -s  127.0 . 0.1 : 5000 /v2/_catalog | sed 's/repositories// ; s/[\[\"\:\{\}]*//g ; s/,/ /g ; s/]//g' ` ;  do  curl -s  127.0 . 0.1 : 5000 /v2/$i/tags/list|sed 's/[\{\}\"]//g; s/name://g; s/,tags:/\t/g'  ; done
#删除私有 registry 中的镜像(参考:http: //www.cnblogs.com/wjoyxt/p/5855405.html)
1 .修改配置/etc/docker/registry/config.yml
2 .使用 API GET /v2/<镜像名>/manifests/<tag> 来取得要删除的镜像:Tag所对应的 digest
比如,要删除 mysql:yang 镜像,那么取得 digest 的命令是:
curl --header  "Accept: application/vnd.docker.distribution.manifest.v2+json"  -I -X HEAD http: //192.168.206.134:5000/v2/mysql/manifests/yang
  3 .然后调用 API DELETE /v2/<镜像名>/manifests/<digest> 来删除镜像。比如:
  [root@jeff yum.repos.d]# curl -X DELETE  "http://192.168.206.134:5000/v2/mysql/manifests/sha256:afd334d5f3b4c31155a09110ad7f4728e8b5c8bdf8bca711aed61cf8247dfdec"
 
  { "errors" :[{ "code" : "UNSUPPORTED" , "message" : "The operation is unsupported." }]}
----配置文件已改,但是没删除成功。问题待解----