1. 程式人生 > >docker執行jar檔案

docker執行jar檔案

一、環境

      本地虛擬機器安裝的centos7

二、安裝docker

   通過 uname -r 命令檢視你當前的核心版本

[[email protected] ~]# uname -r 3.10.0-327.el7.x86_64

安裝 Docker

Docker 軟體包和依賴包已經包含在預設的 CentOS-Extras 軟體源裡,安裝命令如下:

[[email protected] ~]# 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屬性對映的