Coreos是一个极度精简的Linux操作系统,是专门运行Docker的系统。
问题:在Coreos操作系统上pull 阿里云的私有Docker镜像库,会出现“registry's CA certificate”问题,导致无法下载阿里云的私有镜像库:
原因:由于Docker为了安全考虑,对私有镜像库要求手动增加到配置文件才允许pull。
解决办法: 1、docker在coreos中是一个服务,在coreos中每一个服务都由一个unit文件来定义,docker的unit文件在usr/lib/systemd/system/docker.service,需要将它拷贝出来将其放在docker服务启动时会加载的位置: cp /usr/lib/systemd/system/docker.service /etc/systemd/system 2、打开这种文件,我们会发现里面有一个更改docker镜像地址的关键环境变量$DOCKER_OPTS,而更改镜像地址的本质就是更改$DOCKER_OPTS的值。 这个环境变量的值是在/run/flannel_docker_opts.env中设置的,如果你的系统里没有这个文件,就添加该文件,然后在flannel_docker_opts.env文件里添加从daocloud上获取的镜像地址: DOCKER_OPTS="--insecure-registry=registry.mirrors.aliyuncs.com" 3、添加完成后,运行: systemctl daemon-reload systemctl restart docker 4、通过ps aux |grep docker 可以看到已经添加成功
5、通过pull一个镜像验证一下是否成功。
|