springboot的jar在docker上使用記錄

一、idea打springboot的jar包:

1、確保項(xiàng)目中pom.xml有以下這段內(nèi)容:

```

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

```

2、maven選擇Lifecycle-install,直到頁(yè)面提示“BUILD SUCCESS”

3、導(dǎo)出的jar可以通過(guò)java -jar來(lái)查看是否成功

二、docker流程(本地):

1、在目錄下建立一個(gè)docker文件夾,然后把打包的jar放入該文件夾中(注:jar名稱(chēng)一定要是小寫(xiě))

2、新建文件Dockerfile(必須是這個(gè)名字),然后輸入下面的文案,其中xx是需要執(zhí)行的jar名稱(chēng)

FROM java:8

ADD xx.jar /usr/local/jar/

# 修正 docker 容器里面的時(shí)間

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN echo 'Asia/Shanghai' >/etc/timezone

#聲明暴漏端口,這里一般不強(qiáng)制,因?yàn)槲覀兺ǔS?docker -p port:port 來(lái)映射端口,以達(dá)到訪問(wèn)容器內(nèi)部的目的

EXPOSE 8010

CMD ["java","-jar","/usr/local/jar/xx.jar"]

3、執(zhí)行命令:

docker build -t xx -f Dockerfile .(.表示在當(dāng)前目錄執(zhí)行,其他目錄./{path},xx是jar包的名稱(chēng))

docker image prune -f

4、執(zhí)行命令:

docker rm -f test-spring-boot

docker run --name="xx" -p port:port -d xx

三、docker流程(服務(wù)端)

1、新建docker容器,命令:docker run --name={name} -p {port}:{port} tankdocker-perfomancetest:1.0; (name是是jar包的名稱(chēng),port是對(duì)應(yīng)的端口號(hào),tankdocker-perfomancetest:1.0是打包鏡像,需要自己寫(xiě))

2、將 jar包 和 agent包 傳入容器下面,命令如下:

A】docker ps -a ——找到對(duì)應(yīng)CONTAINER ID

B】docker start {CONTAINER ID} ——啟動(dòng)容器

C】docker exec -it {CONTAINER ID} /bin/bash ——進(jìn)入容器

D】docker cp {jarname}.jar|pardar|.sh {CONTAINER ID}:/home/canace/ ——jar包導(dǎo)入容器里面,{jarname}表示jar的名稱(chēng)

E】在容器里面,cd /etc/; 然后執(zhí)行 source profile;(將java版本變成1.8)

F】在容器里面,執(zhí)行xx.sh文件;(可通過(guò) tail -100f nohup.out 查看是否啟動(dòng)服務(wù))

3、xx.sh文件內(nèi)容如下:(DIR-指prader-agent在本地的絕對(duì)路徑,xx表示啟動(dòng)的 項(xiàng)目的名稱(chēng),{jarname}-jar包名稱(chēng))

#!/bin/bash

DIR="/Users/lunacaishulie.io/docker"

JAVA_OPTS="-Xms512m -Xmx512m"

JAVA_OPTS="${JAVA_OPTS} -javaagent:${DIR}/pradar-agent/agent/boot/transmittable-thread-local-2.10.2.jar"

JAVA_OPTS="${JAVA_OPTS} -javaagent:${DIR}/pradar-agent/agent/pradar-core-ext-bootstrap-1.0.0.jar"

JAVA_OPTS="${JAVA_OPTS} -Dpradar.project.name=xx"

nohup java ${JAVA_OPTS} -jar ./{jarname}}.jar &

常用命令記錄:

1、docker ps -a | docker ps ——查看docker是否啟動(dòng)

2、killall Docker && open /Applications/Docker.app ——重啟命令

3、docker stop {CONTAINER ID}? ——關(guān)閉正在運(yùn)行的容器

4、docker restart {CONTAINER ID}? ——重啟容器

5、docker kill {CONTAINER ID}? ——直接關(guān)閉容器

6、docker exec -it {CONTAINER ID} /bin/bash ——進(jìn)入容器

7、docker rm $(sudo docker ps -qf status=exited) ——?jiǎng)h除Exited狀態(tài)的所有容器

8、docker images ——查看所有鏡像

9、docker rmi ?{CONTAINER ID}——?jiǎng)h除鏡像

10、docker build -t {name} -f Dockerfile . ——?jiǎng)?chuàng)建鏡像

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容