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环境,直接把该文件移动到映射文件目录,宿主机目录就可以直接看见进行下载了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值