一、idea打springboot的jar包:
1、确保项目中pom.xml有以下这段内容:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2、maven选择Lifecycle-install,直到页面提示“BUILD SUCCESS”
3、导出的jar可以通过java -jar来查看是否成功
二、docker流程(本地):
1、在目录下建立一个docker文件夹,然后把打包的jar放入该文件夹中(注:jar名称一定要是小写)
2、新建文件Dockerfile(必须是这个名字),然后输入下面的文案,其中xx是需要执行的jar名称
FROM java:8
ADD xx.jar /usr/local/jar/
# 修正 docker 容器里面的时间
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
#声明暴漏端口,这里一般不强制,因为我们通常用 docker -p port:port 来映射端口,以达到访问容器内部的目的
EXPOSE 8010
CMD ["java","-jar","/usr/local/jar/xx.jar"]
3、执行命令:
docker build -t xx .(.表示在当前目录执行,其他目录./{path},xx是jar包的名称)
docker image prune -f
4、执行命令:
docker rm -f test-spring-boot
docker run --name="xx" -p port:port -d xx
三、docker流程(服务端)
1、新建docker容器,命令:docker run --name={name} -p {port}:{port} tankdocker-perfomancetest:1.0; (name是是jar包的名称,port是对应的端口号,tankdocker-perfomancetest:1.0是打包镜像,需要自己写)
2、将 jar包 和 agent包 传入容器下面,命令如下:
A】docker ps -a ——找到对应CONTAINER ID
B】docker start {CONTAINER ID} ——启动容器
C】docker exec -it {CONTAINER ID} /bin/bash ——进入容器
D】docker cp {jarname}.jar|pardar|.sh {CONTAINER ID}:/home/canace/ ——jar包导入容器里面,{jarname}表示jar的名称
E】在容器里面,cd /etc/; 然后执行 source profile;(将java版本变成1.8)
F】在容器里面,执行xx.sh文件;(可通过 tail -100f nohup.out 查看是否启动服务)
3、xx.sh文件内容如下:(DIR-指prader-agent在本地的绝对路径,xx表示启动的 项目的名称,{jarname}-jar包名称)
#!/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是否启动
2、killall Docker && open /Applications/Docker.app ——重启命令
3、docker stop {CONTAINER ID} ——关闭正在运行的容器
4、docker restart {CONTAINER ID} ——重启容器
5、docker kill {CONTAINER ID} ——直接关闭容器
6、docker exec -it {CONTAINER ID} /bin/bash ——进入容器
网友评论