0


Docker部署java项目,基于Dockerfile文件构建镜像

一、准备Docker环境

1、安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
 
2、添加软件源头(阿里源)- 加速
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
3、更新yum
sudo yum makecache fast
 
4、安装docker
sudo yum install docker-ce
 
5、启动服务  重启restart 停止stop 
systemctl start docker
 
6、查看版本
docker version

启动Docker查看版本

二、准备build的java镜像

1、拉取基础镜像 openjdk:8

    jdk8
docker pull openjdk:8

2、创建Dockerfile文件

    注意文件名称要一致Dockerfile,不然构建镜像会出问题

    以下文件可以在Run容器时候包参数传进去,比如JVM相关参数
# 使用 OpenJDK 8 作为基础镜像
FROM openjdk:8
# 设置工作目录
WORKDIR /app
# 将宿主机上的 hs-basic.jar 复制到容器内的 /app 目录
COPY hs-basic.jar /app/hs-basic.jar
# 暴露应用程序端口
EXPOSE 80
# 在容器启动时运行应用程序
ENV JAVA_OPTS=""
# 使用 shell 形式的 CMD 命令来执行 Java 应用程序
CMD java $JAVA_OPTS -jar hs-basic.jar

3、构建java镜像

    注意:对应的jar包路径要与上面文件路径一直,最好直接放在和Dockerfile一个目录
docker build -t hs-basic:1.0.0 .
  构建完成可以查看对应的镜像
docker images

三、启动容器

1、运行容器

    指定端口、映射日志目录(注意代码日志目录)

    指定jvm参数
docker run -e "JAVA_OPTS=-Xms1024m -Xmx1024m -XX:+UseG1GC" \
           -p 80:80 \
           -v /mnt/docker/logs:/mnt/hs/log \
           -d \
           --name hs-server1.0.0 \
           hs-basic:1.0.0

2、查看容器

     启动完成可以通过命令查看容器信息
# 查看启动成功的容器
docker ps

#查看所有容器,包含启动失败的
docker ps -a

四、容器内部dump jvm日志

    dump jvm日志

1、进入容器内部

 docker exec -it hs-server /bin/bash

查看java进程,然后dump日志

ps -ef | grep java

jmap -dump:live,format=b,file=m.hprof PID

docker环境,直接把该文件移动到映射文件目录,宿主机目录就可以直接看见进行下载了

标签: docker java 容器

本文转载自: https://blog.csdn.net/weixin_44029834/article/details/140173164
版权归原作者 一头生产的驴 所有, 如有侵权,请联系我们删除。

“Docker部署java项目,基于Dockerfile文件构建镜像”的评论:

还没有评论