首页 > 其他分享 >【玩转Docker容器 4】基于Docker搭建Docker私服,以及如何使用Docker私服详解

【玩转Docker容器 4】基于Docker搭建Docker私服,以及如何使用Docker私服详解

时间:2022-12-24 22:11:07浏览次数:58  
标签:5000 仓库 私服 玩转 镜像 docker Docker

@TOC


推荐个人Docker文章,讲的非常详细

【玩转Docker容器 1】Dockerd的详解及安装
【玩转Docker容器 2】基于Docker一分钟搭建完 Jdk、Mysql、Nginx、Redis、Tomcat环境
【玩转Docker容器 3】基于Docker部署SpringBoot项目
【玩转Docker容器 4】基于Docker搭建Docker私服,以及如何使用Docker私服详解
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解
【玩转Docker容器 6】基于Docker构建GitLab管理代码
【玩转Docker容器 7】基于Docker安装Jenkins实现自动化构建、部署、测试、监控项目

1.Nexus是什么

Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。我们可以在局域网搭建一个maven私服,用来部署第三方公共构件或者作为远程仓库在该局域网的一个代理。

2.为什么要用Docker私服私服呢?

自定义的Docker的镜像,比如你部署微服务项目,你把你的环境搭好,项目配好打包成镜像,丢到私有仓库中去,部署集群的时候直接pull下来直接使用,不需要任何配置,岂不快活,安全又快捷,一般的企业不允许将镜像放到外网,为了安全

3.基于Docker搭建Nexus构建Docker私服

1.下载nexus3的镜像

一定要是搭建了Docker的Linux环境哟,不知道的可以看我之前文章

输入:
docker pull sonatype/nexus3
复制代码

在这里插入图片描述

2.使用镜像启动一个容器

docker run -d --name nexus  --restart=always -p 5000:5000 -p 8081:8081 sonatype/nexus3
复制代码

在这里插入图片描述 注:5000端口是用于镜像仓库的服务端口 8081 端口是nexus的服务端口

3.登录Nexus私服

关闭防火墙,访问http://ip:8081
Nexus启动容器稍微比较慢,等待一会即可。

注:默认账号密码为admin/admin123 在这里插入图片描述

妈耶,进不去,算了改密码吧 在这里插入图片描述

4.修改初始密码,登录Nexus私服

用户名或密码不正确,这个时候我们可以去admin.password文件中去看初始密码。

输入:(找到密码文件)
find / -name 'admin.password'
复制代码

在这里插入图片描述

输入:
cat 输入上面查找的文件位置获取密码
复制代码

在这里插入图片描述

那一串乱七八糟的就是密码。那他的登陆进去修改密码 再次登录,登录进去后他会默认让你修改用户名密码,注意俩个都是打新密码 在这里插入图片描述 一直下一步就好了

5.创建Docker仓库

1.创建Docker总库

默认进入了仓库配置界面,选择Blob Stores开始创建存储空间 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 点击蓝色的创建就ok啦

2.创建Docker存储库

点击设置界面,选择Repositories,点击Create repository,如下图所示: 在这里插入图片描述 选择仓库类型,这里Docker有三种类型,分别是group、hosted、proxy。这里只演示hosted类型,所以选择docker(hosted),如下图: 在这里插入图片描述 注:Docker镜像仓库类型含义解释如下:   hosted : 本地存储,即同docker官方仓库一样提供本地私服功能   proxy : 提供代理其他仓库的类型,如docker中央仓库   group : 组类型,实质作用是组合多个仓库为一个地址

在指定docker仓库的名称、指定一个端口用来通过http的方式进行访问仓库、勾选是否支持docker API V1,然后create repository;如图 在这里插入图片描述

这里就告别一段落了 在这里插入图片描述

6.使用当前Linux指定连接Docker私库

因为我们测试的时候不是使用加密的HTTPS进行访问,所以这里需要增加一个docker的启动参数,给他指定私库的地址,如下:

使用命令: (增加如下内容,当然也可通过启动参数增加,注意:底下是俩条命令)
vi /etc/docker/daemon.json

{
   "insecure-registries":["http://120.77.0.58:5000"]
}
复制代码

注:上面的ip地址为自己linux的ip地址。另外linux命令中,vi是编辑文件,之后输入i是进入编辑模式,在添加完上面的代码后,输入esc退出编辑模式,再输入:wq保存并退出。切记5000端口要是外网可以访问的 在这里插入图片描述

重启docker进程: 
systemctl restart docker
复制代码

在这里插入图片描述

查看docker信息:
docker info ,有如下输出即正常
复制代码

在这里插入图片描述

7.使用当前Linux登录私库

1配置仓库Realms(不配置此项无法进行login、pull、push)

需要把这俩个移动到右边去,在点击 save 保存 在这里插入图片描述

2.Docker输入地址进行登录

要使用私库进行上传下载需要进行登录连接到Nexus:(本机登录不需要密码)

输入地址登录:
docker login http://120.77.0.58:5000/repository/dockertest/

还有一种登录方式
docker login -u admin -p admin123 120.77.0.58:5000/repository/dockertest/
复制代码

注:上面的IP地址是自己Docker容器的linux的ip地址,另外一个为仓库名称。

在这里插入图片描述 登录成功

8.使用其他Linux系统连接私有Docker仓库

我这里换了一台Linux,是搭建好Docker的Linux系统

注意:也要执行第6部操作才可以,因为没有配置Https

1.指定连接私库的地址

使用命令: (增加如下内容,当然也可通过启动参数增加,注意:底下是俩条命令)
vi /etc/docker/daemon.json

{
   "insecure-registries":["http://120.77.0.58:5000"]
}
复制代码

在这里插入图片描述

2.重启docker进程

systemctl restart docker
复制代码

在这里插入图片描述

3.Docker输入地址进行登录

输入地址:
docker login http://120.77.0.58:5000/repository/dockertest/

还有一种登录方式
docker login -u admin -p admin123 120.77.0.58:5000/repository/dockertest/
复制代码

在这里插入图片描述

9.使用当前或者其他Linux上传镜像到Docker私服

1.查看有哪些镜像

输入查看镜像命令:
docker images
复制代码

在这里插入图片描述 上传镜像分四步

1:登录:
docker login -u admin -p admin123 120.77.0.58:5000/repository/dockertest/
2.为镜像打标签(这里使用容器ID打标签)
docker tag 容器id 120.77.0.58:5000/redis
3.上传镜像
docker push 120.77.0.58:5000/redis
4.退出登录
docker logout 120.77.0.58:5000
复制代码

在这里插入图片描述

成功 在这里插入图片描述

10.Docker从私服下载镜像

我这里换了一台服务器,其实也可以不换,直接删除来下载可以 记住也要第六步的操作,因为没有事情ssl证书,使用http就要这样

登录:
docker login -u admin -p admin123 120.77.0.58:5000/repository/dockertest/
下载:
docker pull 120.77.0.58:5000/redis
查看镜像:
docker images
复制代码

在这里插入图片描述 成功

来源:https://juejin.cn/post/7006343932053291021

标签:5000,仓库,私服,玩转,镜像,docker,Docker
From: https://www.cnblogs.com/konglxblog/p/17003462.html

相关文章

  • 使用Docker编译android10源码
    环境准备安装WSL2修改默认路径安装DockerDesktop,迁移docker到其他盘符,docker配置镜像加速。https://blog.csdn.net/qq_43430759/article/details/127604483dockerpu......
  • 02:Maven 私服 nexus服务器 – 仓库分类与手动上传组件
    1.仓库分类       2.手动上传组件 2.1登录Nexus服务器         用记事本打开,复制里面的密码即可登录成功后,会让你重新设置......
  • 01:Maven 私服 nexus服务器 – nexus服务器安装与启动
    1.nexus服务器安装与启动1.1为什么会出现私服1.2Nexus介绍及下载地址Nexus是Sonatype公司的一款maven私服产品下载地址  1.3Nexus服务器安装1.3.1把下......
  • Docker镜像原理
    Docker中的镜像是由若干个文件系统叠加而成的。一个镜像可能是由多个系统组装而成的。Docker中有得镜像很大,有得镜像很小,比如tomcat镜像是500M,而tomcat的安装包只有70M,cen......
  • docker的常用命令列表
    容器生命周期管理run 创建一个新的容器并运行一个命令 语法:dockerrun[OPTIONS]IMAGE[COMMAND][ARG...]  COMMAND:需要在容器内执行的命令start/stop/restart 启......
  • Docker和Kubernetes网络模型
    Docker网络模型Bridge模式(默认)Docker程序启动后会创建一个bridge0网桥,并分配一个IP,可以想象成一个虚拟的交换机,创建的容器实例都会通过虚拟网卡vethpair设备连接到这个......
  • PPT 玩转形状
    形状形状也可以非常复杂形状的神奇功能--合并形状编辑顶点绘制图标分割面版开放路径辅助阅读......
  • centos docker国内镜像加速设置
    sudomkdir-p/etc/docker#2.编写配置文件sudotee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["http://hub-mirror.c.163.com","https://docker.mirr......
  • docker高级篇第三章-dockerfile案例之制作自己的centos镜像
    在上一篇文章中​​《Dockerfile介绍及常用保留指令》​​,我们介绍了Dockerfile是什么以及Dockerfile常用的保留字段。熟悉了这些之后,有没有想自己动手写一个Dockerfile呢?本......
  • Docker+Jenkins+Gitee+Node+Vue构建dist包并通过publish over ssh传输到服务器替换重
    场景docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端分离版为例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/12837......