一、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)建鏡像