日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java应用部署docker_Docker部署JavaWeb项目实战

發(fā)布時間:2023/12/2 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java应用部署docker_Docker部署JavaWeb项目实战 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

摘要:本文主要講了怎樣在Ubuntu14.04 64位系統(tǒng)下來創(chuàng)建一個執(zhí)行Java web應用程序的Docker容器。

一、下載鏡像、啟動容器

1、下載鏡像

先查看鏡像

docker images

記住這個Image ID,下面我們啟動容器須要用到它。

假設看到以上輸出,說明您能夠使用“oursuer/ubuntu”這個鏡像了,或將其稱為倉庫(Repository)。該鏡像有一個名為“14.04”的標簽(Tag),此外另一個名為

1f879014f4d2 的鏡像 ID(可能您所示鏡像 ID 與此處的不一致,那是正?,F(xiàn)象,由于這個數(shù)字是隨機生成的)。此外,我們能夠看到該鏡像僅僅有188.4 MB,很小巧,而不像虛擬機的鏡像文件那樣龐大。

如今鏡像已經(jīng)有了,我們下面就須要使用該鏡像,來啟動容器。

2、啟動容器

容器是在鏡像的基礎上來執(zhí)行的,一旦容器啟動了,我們就能夠登錄到容器中,安裝自己所需的軟件或應用程序。既然鏡像已經(jīng)下載到本地。那么怎樣才干啟動容器呢?

僅僅需使用下面命令就可以啟動容器:

docker run -i -t -v /download/:/mnt/software/ 1f879014f4d2 /bin/bash

這條命令比較長。我們略微分解一下,事實上包括下面三個部分:

docker run 假設看到以上輸出。說明您能夠使用“docker.cn/docker/centos”這個鏡像了,或將其稱為倉庫(Repository),該鏡像有一個名為“centos6”的標簽(Tag),此外另一個名為“25c5298b1a36 ”的鏡像 ID(可能您所示鏡像 ID 與此處的不一致,那是正?,F(xiàn)象。由于這個數(shù)字是隨機生成的)。此外,我們能夠看到該鏡像僅僅有 215.8 MB,很小巧,而不像虛擬機的鏡像文件那樣龐大。

如今鏡像已經(jīng)有了。我們下面就須要使用該鏡像,來啟動容器。當中。相關參數(shù)包括:

-i:表示以“交互模式”執(zhí)行容器

-t:表示容器啟動后會進入其命令行

-v:表示須要將本地哪個文件夾掛載到容器中,格式:-v :

假設我們的全部安裝程序都放在了宿主機的/download/文件夾下,如今須要將其掛載到容器的/mnt/software/文件夾下。

須要說明的是,不一定要使用“鏡像 ID”。也能夠使用“倉庫名:標簽名”。比如:oursuer/ubuntu:14.04。

初始命令表示一旦容器啟動。須要執(zhí)行的命令,此時使用“/bin/bash”,表示什么也不做,僅僅需進入命令行就可以。

退出容器使用Ctrl+d或輸入exit

假設退出容器后,能夠再次使用命令(注意,得先執(zhí)行docker run之后然后被stop掉的容器才干夠使用例如以下命令)

docker start 容器ID

當中容器ID。

使用命令docker ps -a來看。例如以下:

然后再次啟動已啟動過但如今是關閉的容器

docker start sick_mestorf這個命令僅僅會啟動容器,不會進入容器。要進入容器得用命令

docker attach 容器ID或容器名

例如以下:

二、安裝相關軟件

首先先將JDK和tomcat的安裝包.gz文件放在外面的/download文件夾下

然后再次啟動容器。

進入容器

然后看看是否有安裝包。發(fā)現(xiàn)兩個都在了,下面能夠安裝了

1、安裝JDK

直接使用

cd /usr

mkdir java

cd java

mkdir jdk

cd /mnt/software/

tar zxvf jdk-8u65-linux-x64.gz -C /usr/java/jdk這里直接接文件解壓到/usr/java/jdk文件夾。例如以下

配置環(huán)境變量

輸入:vi /etc/profile或

加入例如以下內(nèi)容:

#set java environment

export JAVA_HOME=/usr/java/jdk/jdk1.8.0_65

export JRE_HOME=/usr/java/jdk/jdk1.8.0_65/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

注意此處改成相應的jdk的文件夾,而且要以root用戶來做改動,否則無法保存

保存后執(zhí)行:

source /etc/profile驗證安裝:

輸入:

java -version

假設出現(xiàn)例如以下內(nèi)容,說明成功安裝

2、tomcat安裝

直接解壓

cd /usr/java

mkdir tomcat

tar zxvf -C /usr/java/tomcat配置環(huán)境

進入到上面的tomcat的bin文件夾下:

打開

vi setclasspath.sh或

gedit setclasspath.sh加入例如以下內(nèi)容:

export JAVA_HOME=/usr/java/jdk/jdk1.8.0_65

export JRE_HOME=/usr/java/jdk/jdk1.8.0_65/jre

保存就可以。

然后退回到bin文件夾下:

執(zhí)行:

./startup.sh

說明tomcat啟動成功

或者使用例如以下命令查看:

三、配置容器啟動環(huán)境變量

(上面的JDK配置環(huán)境變量能夠不要,可是這里的一定要寫!!!

!。!!!!

由于這里是設置容器啟動時載入的環(huán)境變量)

1、環(huán)境變量設置

首先,編輯.bashrc文件vi ~/.bashrc然后,在該文件末尾加入例如以下配置:

export JAVA_HOME=/usr/java/jdk/jdk1.8.0_65

export JRE_HOME=/usr/java/jdk/jdk1.8.0_65/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH最后。須要使用source命令。讓環(huán)境變量生效:

source ~/.bashrc

2、編寫執(zhí)行腳本

我們須要編寫一個執(zhí)行腳本,當啟動容器時,執(zhí)行該腳本,啟動 Tomcat,詳細步驟例如以下:

首先,創(chuàng)建執(zhí)行腳本:vi /root/run.sh然后,編輯腳本內(nèi)容例如以下:

#!/bin/bash

source ~/.bashrc

sh /usr/java/tomcat/apache-tomcat-7.0.68/bin/catalina.sh run注意:這里必須先載入環(huán)境變量,然后使用 Tomcat 的執(zhí)行腳本來啟動 Tomcat 服務。

最后,為執(zhí)行腳本加入執(zhí)行權限:chmod u+x /root/run.sh

3、退出容器

當以上步驟全部完畢后,可使用exit或ctrl+d命令,退出容器。

隨后,可使用例如以下命令查看正在執(zhí)行的容器:

docker ps

此時,您應該看不到不論什么正在執(zhí)行的程序。由于剛才已經(jīng)使用exit命令退出的容器,此時容器處于停止狀態(tài),可使用例如以下命令查看全部容器:

docker ps -a

輸出例如以下內(nèi)容:

記住以上CONTAINER ID(容器 ID),隨后我們將通過該容器,創(chuàng)建一個可執(zhí)行 Java Web 的鏡像。

四、創(chuàng)建 Java Web 鏡像使用下面命令,依據(jù)某個“容器 ID”來創(chuàng)建一個新的“鏡像”:

docker commit 89a47b5b749e lin_javaweb:0.1該容器的 ID 是“89a47b5b749e”,所創(chuàng)建的鏡像名是“l(fā)in_javaweb:0.1”。隨后可使用鏡像來啟動 Java Web 容器。

這是創(chuàng)建成功后

相同能夠查看下鏡像

五、啟動 Java Web 容器有必要首先使用docker images命令,查看當前全部的鏡像:

可見。此時已經(jīng)看到了最新創(chuàng)建的鏡像“l(fā)in_javaweb:0.1”,其鏡像 ID 是“4487bd38df06”。正如上面所描寫敘述的那樣,我們能夠通過“鏡像名”或“鏡像 ID”來啟動容器,與上次啟動容器不同的是,我們?nèi)缃癫辉龠M入容器的命令行。而是直接啟動容器內(nèi)部的 Tomcat 服務。此時,須要使用下面命令:

docker run -d -p 58080:8080 --name javaweb lin_javaweb:0.1 /root/run.sh稍作解釋:

-d:表示以“守護模式”執(zhí)行/root/run.sh腳本,此時 Tomcat 控制臺不會出如今輸出終端上。

-p:表示宿主機與容器的端口映射。此時將容器內(nèi)部的 8080 端口映射為宿主機的 58080 端口。這樣就向外界暴露了 58080 端口。可通過 Docker 網(wǎng)橋來訪問容器內(nèi)部的 8080 端口了。

--name:表示容器名稱。用一個有意義的名稱命名就可以。

關于 Docker 網(wǎng)橋的內(nèi)容。須要補充說明一下。實際上 Docker 在宿主機與容器之間。搭建了一座網(wǎng)絡通信的橋梁,我們可通過宿主機 IP 地址與端口號來映射容器內(nèi)部的 IP 地址與端口號,

在一系列參數(shù)后面的是“鏡像名”或“鏡像 ID”,怎么方便就怎么來。

最后是“初始命令”,它是上面編寫的執(zhí)行腳本,里面封裝了載入環(huán)境變量并啟動 Tomcat 服務的命令。

當執(zhí)行以上命令后,會馬上輸出一長串“容器 ID”,我們可通過docker ps命令來查看當前正在執(zhí)行的容器。

在瀏覽器中,輸入下面地址,就可以訪問 Tomcat 首頁:

http://127.0.0.1:58080/

或者

http://localhost:58080/

注意:這里使用的是宿主機的 IP 地址,與對外暴露的端口號 58080,它映射容器內(nèi)部的端口號 8080。

總結

以上是生活随笔為你收集整理的java应用部署docker_Docker部署JavaWeb项目实战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。