1.在每个模块pom.xml文件中添加下面代码块
org.springframework.boot spring-boot-maven-pluginrepackage
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



