Docker运行jar包

前置条件

centos安装docker成功,运行docker version无报错

1. docker 配置国内镜像:

修改 /etc/docker/daemon.json文件,如果没有就自己创建,写入以下内容
{
    "registry-mirrors":[
    "https://ustc-edu-cn.mirror.aliyuncs.com",
    "http://hub-mirror.c.163.com",
    "https://registry.aliyuncs.com"
    ]
}

配置阿里云镜像后重启服务
systemctl daemon-reload
systemctl restart docker

2.在/root路径下新建dockerfile内容如下:

FROM openjdk:11
EXPOSE 8080
WORKDIR /root
ADD jarfile/cicd*.jar /root.app.jar
ENTRYPOINT ["java","jar","/root/app.jar"]

亲测有效:

FROM openjdk:11

MAINTAINER jeff

VOLUME /root

EXPOSE 8080

ADD cicdtest-0.0.1-SNAPSHOT.jar app.jar

ENTRYPOINT ["java","-jar","/app.jar"]

ADD cicdtest-0.0.1-SNAPSHOT.jar app.jar这句会把app.jar放在docker image的根目录下,
ENTRYPOINT ["java","-jar","~/app.jar"]这句会去用户home目录下去找, 所以找不到。

改成  ENTRYPOINT ["java","-jar","/app.jar"]


3.把java项目jar包打包成镜像

注意:当前目录要有dockerfile这个文件,需要等待的时间比较长

docker build -t demo .

docker build -f dockerfile -t demo1 .

注意 cicdtest-0.0.1-SNAPSHOT.jar 在/root/jarfile 路径下

Docker运行jar包_第1张图片

 Docker运行jar包_第2张图片

 

4.查看镜像

docker images

jar已经成功打包成镜像,并且获取openjdk成功

5.运行镜像
 

docker run -d --name demo -p 8080:8080 demo

--name demo 命名为demo
-p 8080:8080 断开映射
最后的demo表示镜像的名称

Docker运行jar包_第3张图片 

 

查看运行的容器
docker ps 

如果docker ps没有看到任何容器,说明容器启动失败

查看容器名称为demo的log的最后500行

docker logs -f --tail=500 demo

 

容器运行成功,在浏览器输入网址,可以看到返回页面 

Docker运行jar包_第4张图片

 

查看所有的容器
docker ps -a

停止容器

dokcer stop 容器id

 

6.强制删除镜像

docker rmi -f 镜像名称

Docker运行jar包_第5张图片

Docker运行jar包_第6张图片

7. 删除容器

docker ps -a 查看所有容器

docker rm 容器id

8.其他

docker 镜像官网
hub.docker.com

 重新加载daemon  重启docker 服务具体命令如下:
systemctl daemon-reload
restart docker.service

service docker restart

让 Docker 容器在后台以守护态(Daemonized)形式运行,可以通过添加 -d 参数来实现。
[root@VM-0-5-centos ~]# docker run -itd centos:latest /bin/bash

查看端口占用

netstat -tanlp 

Docker运行jar包_第7张图片 

 

你可能感兴趣的:(docker,CICD,docker)