1.在每个模块pom.xml文件中添加下面代码块
org.springframework.boot
spring-boot-maven-plugin
repackage
2.(只针对eureka)在每个分布式模块中yml或者其他配置文件中添加instance.prefer-ip-address=true
eureka:
client:
service-url:
defaultZone: http://47.106.136.228:7080/eureka
registry-fetch-interval-seconds: 5
instance:
prefer-ip-address: true
3.先将分布式文件打成jar
4.将打包好的jar上传到liunx,并且在liunx创建一个Dockerfile,执行如下命令
touch Dockerfile
vim Dockerfile
复制下面的代码
# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器(后面tmp需要变更)
VOLUME /mydata/tmp
# 就是你打包好的jar包名的名称
ADD ctyun-gateway.jar app.jar
RUN bash -c 'touch /app.jar'
# 声明需要暴露的端口(就是你分布式中的端口号,约定端口)
EXPOSE 9080
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
5.使用docker build命令构建镜像(镜像名称:版本号 .)
docker build -t register:latest .
6.启动镜像(改为我们之前约定好的部署端口)
docker run --name dt-user -d -p 7083:7083 -t user
docker run --name dt-robot -d -p 7080:7080 -t robot
docker run --network=host --name dt-gateway -d -p 7081:7081 -t register
// 把日志重定向到指定文件log.txt中
docker logs 容器id >> log.txt 2<&1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)