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
-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屬性對映的