SpringCloud-平台即服务day7-Nexus和Registry

Nexus是一个强大的仓库管理器,极大的简化了内部仓库的维护和外部仓库的访问
基于docker安装nexus

docker pull sonatype/nexus3

我在运行时候报了一个获取镜像超时的错误,ubuntu下面可以运行下面这个代码

 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://3056ffe7.m.daocloud.io

进入/usr/local/docker/nexus/目录创建docker-compose.yml文件

version: '3.1'
services:
  nexus:
    restart: always
    image: sonatype/nexus3
    container_name: nexus
    ports:
      - 8081:8081
    volumes:
      - /usr/local/docker/nexus/data:/nexus-data
                                            

在这里插入图片描述

默认密码可以在admin.password 中间查看
在项目中使用私服
第一步:
修改setting.xml,在servers间增加服务节点

<server>
     <id>nexus-releases</id>
     <username>admin</username>
     <password>123</password>
    </server>
     <server>
     <id>nexus-snapshots</id>
     <username>admin</username>
     <password>123</password>
  </server>

注意snapshots用于发布snapshout版 (快照版)
releases用于发布release版
定义如下
Release: 1.0.0/1.0.0-RELEASE
Snapshot:1.0.0-SNAPSHOT

在pom.xml配置自动化部署

<distributionManagement>
    <repository>
        <id>nexus-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://192.168.182.134:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>nexus-snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://192.168.182.134:8081/repository/maven-snapshots/</url>
    </snapshotRepository>

</distributionManagement>

注意:
ID名称必须要和setting.xml中间的servers配置的Id一致

使用命令
mvn deploy
在这里插入图片描述配置代理仓库
在pom.xml文件中间加上

<repositories>
<repository>
    <id>nexus</id>
    <name>Nexus Repository</name>
    <url>http://192.168.182.134:8081/repository/maven-public/</url>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
    <releases>
        <enabled>true</enabled>
    </releases>
</repository>

</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>nexus</id>
        <name>Nexus Plugin Repository</name>
        <url>http://192.168.182.134:8081/repository/maven-public/</url>
         <snapshots>
             <enabled>true</enabled>
         </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </pluginRepository>

</pluginRepositories>

搭建registry docker私服
简介:
官方的Docker Hub是一个管理公共镜像的地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推上去,但是有时我们的服务器无法联网,那么你就需要Docker Registry,他可以存储和管理自己的镜像

安装
进入/usr/local/docker/registry 没有的话自己创建一个

新建docker-compose.yml

version: '3.1'
services:
  registry:
    image: registry
    container_name: registry
    ports:
      - 5000:5000
    volumes:
      - /usr/local/docker/registry/data:/var/lib/registry

运行
docker-compose up

访问路径 http://192.168.182.134:5000/v2/ 192.168.182.134是自己ip

配置客户端(将之前的项目打为一个镜像上传到私服)
进入/etc/docker
修改daemon.json

{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "insecure-registries":["192.168.182.134:5000"]
}

重启docker
systemctl restart docker

使用docker-registry-frontend来管理镜像
直接加在/usr/local/docker/registry/docker-compose.yml

 frontend:
    image: konradkleine/docker-registry-frontend:v2
    ports:
      - 8080:80
    volumes:
      - ./certs/frontend.crt:/etc/apache2/server.crt:ro
      - ./certs/frontend.key:/etc/apache2/server.key:ro
    environment:
      - ENV_DOCKER_REGISTRY_HOST=192.168.182.134
      - ENV_DOCKER_REGISTRY_PORT=5000


实现一次构建到处运行

发布了34 篇原创文章 · 获赞 19 · 访问量 1480

猜你喜欢

转载自blog.csdn.net/qq_42236003/article/details/94337258