springboot的jar在docker上使用记录

一、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 -f Dockerfile .(.表示在当前目录执行,其他目录./{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 ——进入容器

7、docker rm $(sudo docker ps -qf status=exited) ——删除Exited状态的所有容器

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

9、docker rmi  {CONTAINER ID}——删除镜像

10、docker build -t {name} -f Dockerfile . ——创建镜像

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。