Docker部署java項目,關(guān)于Dockerfile文件構(gòu)建鏡像方式
一、準(zhǔn)備Docker環(huán)境
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、啟動服務(wù) 重啟restart 停止stop
systemctl start docker
6、查看版本
docker version
啟動Docker查看版本

二、準(zhǔn)備build的java鏡像
1、拉取基礎(chǔ)鏡像 openjdk:8
jdk8
docker pull openjdk:8
2、創(chuàng)建Dockerfile文件
注意文件名稱要一致Dockerfile,不然構(gòu)建鏡像會出問題

以下文件可以在Run容器時候包參數(shù)傳進(jìn)去,比如JVM相關(guān)參數(shù)
# 使用 OpenJDK 8 作為基礎(chǔ)鏡像 FROM openjdk:8 # 設(shè)置工作目錄 WORKDIR /app # 將宿主機(jī)上的 hs-basic.jar 復(fù)制到容器內(nèi)的 /app 目錄 COPY hs-basic.jar /app/hs-basic.jar # 暴露應(yīng)用程序端口 EXPOSE 80 # 在容器啟動時運(yùn)行應(yīng)用程序 ENV JAVA_OPTS="" # 使用 shell 形式的 CMD 命令來執(zhí)行 Java 應(yīng)用程序 CMD java $JAVA_OPTS -jar hs-basic.jar
3、構(gòu)建java鏡像
注意:對應(yīng)的jar包路徑要與上面文件路徑一直,最好直接放在和Dockerfile一個目錄
docker build -t hs-basic:1.0.0 .
構(gòu)建完成可以查看對應(yīng)的鏡像
docker images

三、啟動容器
1、運(yùn)行容器
指定端口、映射日志目錄(注意代碼日志目錄)
- 指定jvm參數(shù)
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.02、查看容器
啟動完成可以通過命令查看容器信息
# 查看啟動成功的容器 docker ps #查看所有容器,包含啟動失敗的 docker ps -a
四、容器內(nèi)部dump jvm日志
dump jvm日志
1、進(jìn)入容器內(nèi)部
docker exec -it hs-server /bin/bash
查看java進(jìn)程,然后dump日志
ps -ef | grep java jmap -dump:live,format=b,file=m.hprof PID

docker環(huán)境,直接把該文件移動到映射文件目錄,宿主機(jī)目錄就可以直接看見進(jìn)行下載了
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談docker運(yùn)行nginx為什么要使用daemon off
這篇文章主要介紹了淺談docker運(yùn)行nginx為什么要使用daemon off,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
使用Docker Compose創(chuàng)建LAMP環(huán)境的詳細(xì)步驟
現(xiàn)如今,通過 Docker 容器化部署環(huán)境已經(jīng)逐漸成為主流,特別是在部署像 LAMP 這樣的復(fù)雜環(huán)境時,本教程旨在帶您完成使用 Docker-Compose 建立 LAMP 環(huán)境的整個過程,同時還包括定制 PHP 環(huán)境的步驟,需要的朋友可以參考下2024-12-12
Docker部署Tomcat并開放8082端口的實現(xiàn)步驟
本文主要介紹了Docker部署Tomcat并開放8082端口的實現(xiàn)步驟,首先安裝docker環(huán)境,創(chuàng)建tomcat鏡像,隨后開放端口,具有一定的參考價值,感興趣的可以了解一下2023-10-10

