四、docker 仓库(让我们的镜像有处可存)

四、docker 仓库(让我们的镜像有处可存)_第1张图片

通过下面命令查看是否成功

docker push 127.0.0.1:5000/java:8

file

上面证明我们已经将镜像上传到我们的私有仓库了。

[](()下载


那现在我们先将本地的镜像删除掉,然后从私服上下载镜像,看是否能够下载下来。

docker image rm 127.0.0.1:5000/java:8

docker pull 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 127.0.0.1:5000/java:8

四、docker 仓库(让我们的镜像有处可存)_第2张图片

证明我们创建的私服是可以用的,但是有没有感觉有点别扭,不能想dockerhub 那样直观的查看我们私有仓库的镜像,没有可视化界面。所以接下来我们用另一个镜像来搭建我们私有仓库。

[](()Nexus3

=====================================================================

Nexus 是管理maven 的jar 包工具,Nexus3 支持对镜像的管理。

[](()下载


我们先下载nexus3的镜像

docker pull sonatype/nexus3

[](()启动


下载成功后,我们来启动对应的容器。

docker run -d --name nexus3 --restart=always -p 8081:8081 -p 8082:8082 -p 8083:8083 --mount src=nexus-data,target=/nexus-data sonatype/nexus3

这里说明一下为什么要启动三个端口。8082是私有仓库,不启动的话,好像我们本地根本连不上去,一直报超时。8083为后面代理dockerhub 做准备。

四、docker 仓库(让我们的镜像有处可存)_第3张图片

容器启动之后我们在页面上访问

192.168.252.53:8081

可以看到我们的 nexus3的镜像已经启动成了,我们需要登录才能进行配置。网上说的用户名为admin,密码为admin123 我试了发现登录不上去。

四、docker 仓库(让我们的镜像有处可存)_第4张图片

然后看提示说密码存放在这个位置,所以我们进入到容器。查看我们的密码。

docker ps

docker exec -it /bin/bash

cat /nexus-data/admin.password

四、docker 仓库(让我们的镜像有处可存)_第5张图片

找到密码后,我们在界面登录后,会让我们修改密码。

四、docker 仓库(让我们的镜像有处可存)_第6张图片

[](()配置


登录成功后,我们开始配置我们docker的私有仓库。选择Create Repostory

四、docker 仓库(让我们的镜像有处可存)_第7张图片

选择docker(hosted)

四、docker 仓库(让我们的镜像有处可存)_第8张图片

配置仓库名和端口

四、docker 仓库(让我们的镜像有处可存)_第9张图片

这些都配置好了,现在我们怎么使用这个私有仓库呢,我们在/etc/docker/daemon.json 文件中加上私有仓库的地址。

{

“registry-mirrors”: [

“https://registry.docker-cn.com”,

“https://dockerhub.azk8s.cn”

],

“insecure-registries”:[“192.168.252.53:8082”,“192.168.252.53:8083”]

}

registry-mirrors 是配置国内镜像,不需要的可以不配置。insecure-registries 就是设置我们自己的私有仓库地址。

重启

systemctl daemon-reload

systemctl restart docker

[](()测试


现在我们来登录上我们私有仓库(密码我改成了admin123)

docker login -u admin -p admin123 192.168.252.53:8282

四、docker 仓库(让我们的镜像有处可存)_第10张图片

一样的我们打标签。

docker tag java:8 192.168.252.53:8082/java:8

上传

docker push 192.168.252.53:8082/java:8

四、docker 仓库(让我们的镜像有处可存)_第11张图片

可以看到我们已经将镜像上传的nexus 上了,我们现在在界面上看下。整个的界面就是这样的。

四、docker 仓库(让我们的镜像有处可存)_第12张图片

说明我们用 nexus3 搭建的私有仓库是没有问题的。

[](()Nexus3 代理仓库

==========================================================================

上面我们只是配置了docker(host),这个相当于我们的私有仓库,但是我们现在使用docker login 我们自己的仓库,如果我们需要的镜像我们仓库没有,就会很麻烦,需要重新登录到共有仓库上下载下来,再上传到我们的私有仓库,那有没有办法可以一步到位呢?

下面我们就来操作一波。

[](()docker(proxy)


上面我们已经配置好了私有仓库的不用动,下面我们来配置代理仓库,

四、docker 仓库(让我们的镜像有处可存)_第13张图片

选择docker(proxy),name 自定义。主要的Proxy 这里需要注意一下。

https://registry-1.docker.io

四、docker 仓库(让我们的镜像有处可存)_第14张图片

[](()docker(group)


端口设置8083

四、docker 仓库(让我们的镜像有处可存)_第15张图片

将代理的和个人仓库加到group中

你可能感兴趣的:(Java,经验分享,架构,java)