Docker部署Java
阿新 • • 發佈:2022-05-22
1. 官方映象
1.1 映象地址
https://hub.docker.com/_/openjdk
1.2 SimSun.ttf
https://github.com/StellarCN/scp_zh/tree/master/fonts
2. 建立映象
2.1 Dockerfile
基礎映象必須是alpine版本,該版本可執行apk命令
# 第一行必須指令基於的基礎映象 FROM openjdk:8-jre-alpine # 設定字型庫 COPY ./SimSun.ttf /usr/share/fonts/SimSun.ttf # 安裝字型軟體 RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* # 設定時區 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone # 維護者資訊 MAINTAINER wufs ENTRYPOINT ["java", "-Xmx512m", "-jar", "/app/my-app.jar", "--spring.profiles.active=dev", "--spring.cloud.bootstrap.location=/app/bootstrap.yml"] # 容器暴露的埠號 # my-app EXPOSE 8080 # Debug除錯埠 EXPOSE 5005
3. docker-compose方式安裝
3.1 docker-compose.yml
version: '3' services: myapp-service: build: context: ./ dockerfile: Dockerfile image: my-app:1.0 container_name: myapp restart: always network_mode: 'host' volumes: - /etc/localtime:/etc/localtime - /u01/app:/app - /u01/logs:/u01/logs entrypoint: - java - -Xmx512m - -jar # 開啟遠端debug埠 - -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 - /app/my-app.jar - --spring.profiles.active=dev - --spring.cloud.bootstrap.location=/app/bootstrap.yml
4. 建立容器
docker-compose up -d myapp-service
# 以root使用者許可權進入容器
docker exec -it -u root myapp bash
# 檢視容器啟動日誌
docker logs -f myapp