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配置镜像仓库报错的主要内容,如果未能解决你的问题,请参考以下文章

搭建docker私有镜像仓库

docker私有镜像仓库搭建和镜像删除

docker拉取自建http镜像仓库

Docker 镜像及Docker仓库配置 [四]

如何上传镜像到网易蜂巢docker私有仓库

如何将本地docker 镜像上传到我的私有仓库