Docker部署eureka-server

环境安装

1.JDK

yum -y install java-1.8.0-openjdk*
配置环境变量
打开  vim /etc/profile

添加一下内容

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64 
export PATH=$PATH:$JAVA_HOME/bin

修改完后使之生效

source /etc/profile

输入java -version 返回版本信息则安装正常。


2.安装maven

wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
## 解压
tar zxvf apache-maven-3.5.2-bin.tar.gz
## 移动
mv apache-maven-3.5.2 /usr/local/apache-maven
修改环境变量, 在 /etc/profile 中添加以下几行

MAVEN_HOME=/usr/local/apache-maven
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

记得执行source /etc/profile使环境变量生效。

输入mvn -version 返回版本信息则安装正常。

这样环境就配好了

pom.xml文件中添加Docker镜像名称

<properties>
    <docker.image.prefix>chu-eureka</docker.image.prefix>
</properties>

plugins 中添加 Docker 构建插件:

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <!-- Docker maven plugin -->
      <plugin>
         <groupId>com.spotify</groupId>
         <artifactId>docker-maven-plugin</artifactId>
         <version>1.0.0</version>
         <configuration>
            <imageName>${project.artifactId}:${project.version}</imageName>
            <dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory>
            <resources>
               <resource>
                  <targetPath>/</targetPath>
                  <directory>${project.build.directory}</directory>
                  <include>${project.build.finalName}.jar</include>
               </resource>
            </resources>
         </configuration>
      </plugin>
      <!-- Docker maven plugin -->
   </plugins>
</build>

在src/main/resources目录下创建Dockerfile文件,Dockerfile文件是用来说明如何构建镜像的

#基于哪个镜像
FROM java:8

# 将本地文件夹挂载到当前容器
VOLUME /tmp

# 拷贝文件到容器,也可以直接写成ADD chu-eureka-0.0.1-SNAPSHOT.jar /app.jar
ADD chu-eureka-0.0.1-SNAPSHOT.jar app.jar

RUN bash -c 'touch /app.jar'

#环境变量 设置上海时区
ENV TZ=Asia/Shanghai

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 开放8761端口
EXPOSE 8761

# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

这样eureka-server项目添加 Docker 依赖就完成了。

上传chu-eureka项目到阿里云

#打包
mvn clean package -Dmaven.test.skip=true

由于我的项目依赖了父项目,所以父项目也上传,安装命令

mvn clean install -Dmaven.test.skip=true;

启动eureka

java -jar target/chu-eureka-0.0.1-SNAPSHOT.jar

看到启动日志后表明配置环境没有问题,接下来使用Dockerfile构建镜像(上述两个命令可以省去,

mvn clean package -Dmaven.test.skip=true docker:build;

使用docker images 查看构建好的镜像列表

运行该镜像

docker run -d --restart=always --name chu-eureka -p 8761:8761 -t chu-eureka:0.0.1-SNAPSHOT;

如果是多环境,可在上面命令中加上

#指定运行环境前缀
-e "SPRING_PROFILES_ACTIVE=test-online"

启动完成后输出docker ps可以查看正在运行的镜像


访问http://宿主机ip:8761,说明docker部署eureka-server成功!



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值