IDEA源碼到Docker容器建立完成圖解全過程
- 一、工程源碼打包成jar
- 二、添加配置檔案
-
- 1、application.yml 内容
- 2、docker-compose.yml 内容
- 3、Dockerfile 内容
- 三、将上述三檔案與工程jar包上傳伺服器
- 四、使用Docker-compose建立鏡像與容器
-
- 1、安裝docker-compose
- 2、添加可執行權限
- 3、建立鏡像與容器
- 五、檢驗建立結果
一、工程源碼打包成jar
首先 idea 得安裝插件maven。使用maven的package功能生成.jar檔案。如圖:
二、添加配置檔案
在項目中添加三個檔案:application.yml、docker-compose.yml、Dockerfile,檔案内容分别如下:
1、application.yml 内容
spring:
application:
name: eureka-service
---
server:
port: 8081
spring:
profiles: eureka-svc1
eureka:
instance:
hostname: eureka-svc1
prefer-ip-address: true
client:
serviceUrl:
defaultZone: http://eureka-svc2:8082/eureka/,http://eureka-svc3:8083/eureka/
register-with-eureka: true
---
server:
port: 8082
spring:
profiles: eureka-svc2
eureka:
instance:
hostname: eureka-svc2
prefer-ip-address: true
client:
serviceUrl:
defaultZone: http://eureka-svc1:8081/eureka/,http://eureka-svc3:8083/eureka/
register-with-eureka: true
---
server:
port: 8083
spring:
profiles: eureka-svc3
eureka:
instance:
hostname: eureka-svc3
prefer-ip-address: true
client:
serviceUrl:
defaultZone: http://eureka-svc2:8082/eureka/,http://eureka-svc1:8081/eureka/
register-with-eureka: true
2、docker-compose.yml 内容
version: '3'
services:
eureka-svc1:
build: .
container_name: eureka-svc1
networks:
- eureka-net
ports:
- 7001:7001
environment:
- spring.profiles.active=eureka-svc1
eureka-svc2:
build: .
container_name: eureka-svc2
networks:
- eureka-net
ports:
- 7002:7002
environment:
- spring.profiles.active=eureka-svc2
eureka-svc3:
build: .
container_name: eureka-svc3
networks:
- eureka-net
ports:
- 7003:7003
environment:
- spring.profiles.active=eureka-svc3
networks:
eureka-net:
driver: bridge
3、Dockerfile 内容
FROM openjdk:8-alpine
ENV TARGET_JAR="工程jar包名字.jar"
ADD ./${TARGET_JAR} /${TARGET_JAR}
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone
CMD java -Xrs -Xmx1024m -jar ${TARGET_JAR} --eureka.hostUri=${EUREKAHOSTURI}
三、将上述三檔案與工程jar包上傳伺服器
本人使用工具Xftp上傳,建立了個目錄存放在這些檔案,如下圖:
四、使用Docker-compose建立鏡像與容器
伺服器上必須得先安裝Docker,然後再安裝 Docker-compose,這樣就具備了建立鏡像與容器的條件。
1、安裝docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2、添加可執行權限
chmod +x /usr/local/bin/docker-compose
3、建立鏡像與容器
Docker-compose up -d --build
鏡像與容器的建立結果如下:
五、檢驗建立結果
docker images
docker ps -a
至此,鏡像與容器都已建立完成。