docker运行jar文件

一、环境

      本地虚拟机安装的centos7

二、安装docker

   通过 uname -r 命令查看你当前的内核版本

[root@runoob ~]# uname -r 3.10.0-327.el7.x86_64

安装 Docker

Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:

[root@runoob ~]# yum -y install docker-io


三、开启加速

       docker的镜像仓库在国外,下载会很慢,启用阿里云加速。

       在/etc/docker目录下创建daemon.json文件,添加如下内容

腾讯云加速

{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]}

阿里云加速

{
  "registry-mirrors": ["https://almtd3fa.mirror.aliyuncs.com"]
}

       https://almtd3fa.mirror.aliyuncs.com为阿里云的加速地址。修改后,重启docker

systemctl daemon-reload
service docker restart

 

四、下载java镜像

         下载java镜像,tag为8u111

docker pull java:8u111

 

 

五、执行可运行的jar文件

停止springboot容器

docker stop springboot

删除springboot容器

docker rm springboot

查看所有的容器ip和名字

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

将test.jar放在虚拟机的/usr目录下,然后执行命令启动jar

docker run -tid --net=host -v /opt/pj/business.jar:/usr/business.jar --name business java:8u111 java -jar /usr/business.jar

 

  -t: 为container分配一个伪终端(pseudo-tty),并绑定到容器的标准输入上

-i: 让容器的标准输入保持打开

-d: 使容器在后台以守护态(Daemonized)形式运行

     --net=host 使用host模式的容器可以直接使用docker host的IP地址与外界通信

     -v /usr/springboot-1.jar:/usr/springboot-1.jar 表示将宿主主机的jar文件,映射到容器中(分号前为宿主主机的路径,分号后为容器中的路径)

     --name business表示为该容器取一个全局唯一的名称,这里我取的名称为business

    java:8u111 表示镜像文件的名称和tag

    java -jar /usr/business.jar 表示运行jar包,注意:这里的jar包为容器中的位置,是通过前面的-v属性映射的


你可能感兴趣的:(docker)