Docker 部署Java
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
本文作者:逢生博客
本文链接:https://www.cnblogs.com/wufengsheng/p/16297286.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)