docker配置镜像仓库报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker配置镜像仓库报错相关的知识,希望对你有一定的参考价值。
参考技术A 1编辑docker配置文件2. 重启docker服务发现报错
启动docker服务报错如下图所示
查看报错信息可知daemon.json配置失败
将daemon.json中多余的空格去掉
重新启动服务就成功了
nexus搭建docker镜像仓库
参考技术A 1 从docker拉取Nexus3镜像,这里使用的是3.30.0版本2 创建nexus数据挂载目录
这里会宿主机目录权限问题,简单粗暴解决就是直接给我挂载的目录777权限,哈哈。要么就是在启动容器的时候给容器root权限。
3 运行nexus容器
接着重启docker 重启nexus就可以了。
等待了一段时间发现访问nexus还是没有起起来,通过 docker logs -f nexus3 看了一下日志,发现报错了,原因就是上面挂载了目录,目录的权限用户是root,nexus在容器内部中启动的时候是以nexus用户启动的,uid 是200,操作系统root用户的uid是1000,所以必然没有写入权限,启动报错。可以通过启动时添加 --privileged=true 赋予root权限解决这个问题,但是给一个容器赋予一个root权限是有点不安全。网上有些博客通过 chown 200 -R /opt/nexus-data 我没试成功,只能先这么搞了。
PS:这里给了两个端口,8081和8082,8081是nexus的默认端口,8082预留给docker私有仓库使用。
4 创建私有docker仓库
4.1 访问界面并登录
账号是admin,密码记录在挂载目录下的/admin.password文件里面,在登陆一波。
4.2 创建仓库
4.3 安全设置
4.4 测试
因为我们的仓库开放的是http的端口,而docker要求使用的是https,所以这里还要添加一下信任仓库。
再次登录成功了。
4.5 制作镜像并向私有仓库推送镜像
推送成功后到nexus页面查询我们是否推送成功。
可以看到已经看到了我们用于测试的nginx镜像了。
额外用一张图补充 docker tag 命令的用法
以上是关于docker配置镜像仓库报错的主要内容,如果未能解决你的问题,请参考以下文章