思维导图
学艺不精 仅供参考
1、在做题目之前的先决条件为在服务平台内已经添加了主机,并且仓库地址也已经正确设置,很关键的一点为,搭建仓库时,私有仓库的地址为浮动IP的地址,用内网的地址偶尔会报错,在上传镜像之前,需要去了解该服务需要的镜像,可以在yml的配置里面查看到,如下图所示。
2、在做题目之前,基础服务的镜像需要先上传,但是docker的命名规则为最后的 / 修改为 :,而连接符不需要改动,但是rancher_net_holder.tar和rancher-net_v0.11.3.tar服务本来的命名应该是有问题的,所以这个时候就需要参考yml去查看镜像的命令规则是怎么样的,这样才能正确的对镜像进行命名,不然四个基础服务都会报错,如果镜像命名有误的话。
3、有时候rancher-server搭建的平台,在设置完仓库地址后,发现仓库还是在docker.io里面找,无法选择到正确的仓库地址,但是docker info显示的仓库地址就是私有仓库,解决办法如下
(1)首先把仓库的服务KILL掉,假设我们设置的私有仓库的ID为a0c0c8dd11bb,这时先stop再rm,最后再使用docker ps -a查看容器是否被删除。(rm删除进程 rmi删除镜像)
#docker stop a0c0c8dd11bb
#docker rm -f a0c0c8dd11bb
#docker ps -a
(2)重新tag命名上传的docker.io镜像,修改为自己私有仓库的地址为前缀。
#docker tag c9bd19d022f6 10.0.3.137:5000/registry:latest
(3)修改完镜像的名称后,删除原本的镜像,由于两个镜像的ID是一样的,所以可以使用下面的方法进行删除
[root@registry ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
10.0.0.102:5000/rancher/agent v1.2.5 ef5fea38dbe6 3 years ago 237.1 MB
192.168.200.102:5000/rancher/agent v1.2.5 ef5fea38dbe6 3 years ago 237.1 MB
现在有两个命名为一样的镜像,tag也是一样的,使用rmi -f 删除10.0.0.102开头的镜像
[root@registry ~]# docker rmi -f 10.0.0.102:5000/rancher/agent:v1.2.5
Untagged: 10.0.0.102:5000/rancher/agent:v1.2.5
这样就已经把镜像删除了,docker.io镜像的删除方法也是相同
(4)删除完镜像后,再重新启动仓库服务,并查看进程的启动状态是否为up,最后重启docker服务。
[root@registry ~]# docker run -d -p 5000:5000 --restart=always --name 192.168.200.102/registry:latest
[root@registry ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
86c93b98ac61 192.168.200.102:5000/registry:latest “/entrypoint.sh /etc/” 12 minutes ago Up 12 minutes 0.0.0.0:5000->5000/tcp registry
[root@registry ~]# systemctl daemon-reload
[root@registry ~]# systemctl restart docker
最后再进去页面查看是否正确获取到了仓库的地址
4、有时候需要整合控制节点和计算节点的资源,所以在创建云主机的时候nova-schedul