Docker Swarm + SpringCloud(一)搭建Nexus私服

简介

微服务:将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP/HTTPS协议的RESTful API进行通信协作,也可以通过RPC协议进行通信协作。

SpringCloud:提供一套完整的微服务框架,让开发者可以快速构建一个分布式系统,包括配置管理,服务治理,熔断机制,智能路由等等。

Docker Swarm:Swarm是Docker内置的集群管理工具

环境

Docker:18.09.0
IntelliJ IDEA :2018.1 (Ultimate Edition)
Nexus:sonatype/nexus3
三台CentOS7虚拟机:CentOS-7-x86_64(192.168.30.205,192.168.30.206,192.168.30.207)

流程:

本地开发SpringCloud项目,构建docker镜像,推送到Nexus私服(192.168.30.205),swarm 创建2个节点 192.168.30.206(管理节点),
192.168.30.207(工作节点),编排并创建集群服务,自动从私服拉取镜像并运行

CentOS7安装Docker

参考 https://www.cnblogs.com/yufeng218/p/8370670.html

Docker搭建Nexus私服(192.168.30.205)

在公司里一般会用Nexus搭建一个私服,然后将内部的代码上传到私服的Maven仓库,供他人使用。Nexus从3.0版本开始支持创建Docker镜像仓库。

  1. 获取nexus镜像
    docker pull sonatype/nexus3

  2. 创建挂载目录
    mkdir /var/lib/nexus-data
    启动nexus的时候可能会遇到权限问题,直接赋予最高权限
    chmod 777 /var/lib/nexus-data

  3. 启动nexus3,8081端口是nexus的访问端口,5000端口是用于后面docker镜像仓库的访问

docker run -d \
  --name=nexus3 \
  --restart=always \
  -p 8081:8081 -p 5000:5000 \
  -v /var/lib/nexus-data:/nexus-data \
  sonatype/nexus3 
  1. 第一次启动较慢,成功后访问 http://192.168.30.205:8081,进入nexus主页。


    Docker Swarm + SpringCloud(一)搭建Nexus私服_第1张图片
    image.png
  2. 配置docker镜像仓库,管理员登录默认 admin/admin123,依次点击 ⚙→ Repositories → Create repository → docker (hosted),输入仓库名称,选择HTTP方式,填写端口号,这个端口号就是用来push镜像的,其他默认,点击Create repository按钮,我们的docker镜像仓库就创建好了。


    Docker Swarm + SpringCloud(一)搭建Nexus私服_第2张图片
    image.png
  3. 在Browse菜单可以看到刚刚建立的仓库,以后的docker镜像都会上传都这里

  • Docker Swarm + SpringCloud(一)搭建Nexus私服_第3张图片
    image.png

下一篇 Docker Swarm + SpringCloud(二)编写SpringCloud项目

你可能感兴趣的:(Docker Swarm + SpringCloud(一)搭建Nexus私服)