环境安装
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镜像名称
chu-eureka
plugins 中添加 Docker 构建插件:
org.springframework.boot
spring-boot-maven-plugin
com.spotify
docker-maven-plugin
1.0.0
${project.artifactId}:${project.version}
${project.basedir}/src/main/resources
/
${project.build.directory}
${project.build.finalName}.jar
在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成功!