博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用docker-compose运行springcloud项目
阅读量:5757 次
发布时间:2019-06-18

本文共 3207 字,大约阅读时间需要 10 分钟。

前言:

  学习Docker的过程中,一直想使用Docker运行SpringCloud程序,今天就将搭建过程记录下来,以作总结。

一、Docker安装

  这里因为一些原因,被迫写了个Centos下的Docker安装脚本。至于为什么被迫,这里先埋下一个伏笔。

#!/bin/bash# Centos新版本Docker安装:https://www.cnblogs.com/Peter2014/p/7704306.html# step 1: 安装必要的一些系统工具yum install -y yum-utils device-mapper-persistent-data lvm2# Step 2: 添加软件源信息yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# Step 3: 更新并安装 Docker-CEyum makecache fastyum install docker-ce-18.06.0.ce -y# Step 4: 开启Docker服务systemctl restart dockermkdir -p /etc/dockertee /etc/docker/daemon.json <<-'EOF'{  "registry-mirrors": ["https://vcugatat.mirror.aliyuncs.com"],  "hosts": [    "tcp://0.0.0.0:0306",    "unix:///var/run/docker.sock"  ]}EOFsystemctl daemon-reloadsystemctl restart dockersystemctl enable docker

二、使用Maven插件生成镜像

  在本地使用Maven插件可以直接在远程服务器生成镜像,比较方便,但是此方法会暴露Docker服务的端口,可能产生隐患,请谨慎使用!

com.spotify
docker-maven-plugin
1.0.0
http://122.152.000.000:6030
${project.artifactId}
src/main/docker
1.0
/
${project.build.directory}
${project.build.finalName}.jar

application.yml配置文件中,注册中心的ip修改为容器名。

eureka:  client:    serviceUrl:#      defaultZone: http://localhost:1111/eureka      defaultZone: http://eureka-server:1111/eureka    #注册中心地址改为容器名

注意:

  请使用自己的docker服务地址,上面的地址本人做过改动;

  Dockerfile文件编写请参考博客:。请注意,此Dockerfile文件使用的基础镜像是 frolvlad/alpine-oraclejdk8:slim ,且我打开了服务器上的Docker端口。这两个因素导致了我后面一直重装系统,不得不写一个脚本安装docker。因为一旦使用 frolvlad/alpine-oraclejdk8:slim 镜像,且Docker服务端口开放,我的服务器必定会被注入一个挖矿镜像,从而成为矿机!!因此,我强烈推荐使用官方镜像:openjdk:8,且谨慎开放Docker服务端口。

三、使用Docker搭建SpringCloud项目

常规启动三个镜像,容器是不能联通的,必须手动为三个容器创建一个共同的网络,容器间才可以保持通讯。 首先创建一个名为cloud的桥接网络docker network create -d bridge cloud    依次启动三个镜像,并且连接到创建的cloud网络上docker run -d --name eureka-server -p 1111:1111 --network cloud eureka-serverdocker run -d --name provider -p 8000:8000 --network cloud providerdocker run -d --name consumer -p 8001:8001 --network cloud consumer

可以看到,服务已经注册到注册中心并且可以正常访问。

 四、使用Docker-compose搭建springcloud项目

version: "3"services:  eureka-server:    image: eureka-server:1.0    ports:    - "1111:1111"    volumes:    - /usr/local/cloud/logs/eureka-server:/logs    networks:    - cloud    #container_name:  simple-provider-user:    image: simple-provider-user:1.0    ports:    - "8000:8000"    volumes:    - /usr/local/cloud/logs/provider:/logs    networks:    - cloud    depends_on:    - eureka-server  simple-consumer-movie:    image: simple-consumer-movie:1.0    ports:    - "8001:8001"    volumes:    - /usr/local/cloud/logs/consumer:/logs    networks:    - cloud    depends_on:    - eureka-servernetworks:    clooud:        driver: bridge

在此docker-compose.yml目录,运行docker-compose up -d,OK。

 

至此,使用docker搭建springcloud项目就已经完成了,但是远远不够到生产级别,还需继续学习!

 

转载于:https://www.cnblogs.com/fcml/p/10162832.html

你可能感兴趣的文章
Java程序员的日常 —— 响应式导航Demo
查看>>
objective-c内存管理基础
查看>>
sap关于价值串的说法(转载)
查看>>
Migration to S/4HANA
查看>>
sed 对目录进行操作
查看>>
什么是代码
查看>>
移动端开发单位——rem,动态使用
查看>>
系列文章目录
查看>>
SVG 新手入门
查看>>
手把手教你如何提高神经网络的性能
查看>>
前端布局原理涉及到的相关概念总结
查看>>
递归调用 VS 循环调用
查看>>
通用词向量、句向量研究现状
查看>>
win10安装sdkman(posh-gvm)
查看>>
常用排序算法总结
查看>>
使用sstream读取字符串中的数字(c++)
查看>>
如何提高还在用window系统的编码硬效率
查看>>
基于Vue & SVG 的 icon 解决方案
查看>>
图解JS闭包形成的原因
查看>>
树莓派下实现ngrok自启动
查看>>