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

歡迎訪問 生活随笔!

生活随笔

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

java

Docker Java+Tomcat 环境搭建

發布時間:2023/12/31 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker Java+Tomcat 环境搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 軟件環境:jdk、tomcat、docker、centos、虛擬機

??

首先,您要準備一個 CentOS 的操作系統,虛擬機也行。總之,可以通過 Linux 客戶端工具訪問到 CentOS 操作系統就行。

需要說明的是,Ubuntu 或其它 Linux 操作系統也能玩 Docker,只不過本文選擇了以 CentOS 為例,僅此而已。

CentOS 具體要求如下:

  • 必須是 64 位操作系統
  • 建議內核在 3.8 以上
  • 通過以下命令查看您的 CentOS 內核:

    uname -r

    如果執行以上命令后,輸出的內核版本號低于 3.8,請參考下面的方法來來升級您的 Linux 內核。

    對于 CentOS 6.5 而言,內核版本默認是 2.6。首先,可通過以下命令安裝最新內核:

    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm yum -y --enablerepo=elrepo-kernel install kernel-lt

    隨后,編輯以下配置文件:

    vi /etc/grub.conf

    將default=1修改為default=0。

    最后,通過reboot命令重啟操作系統獲取【下載地址】??

    重啟后如果不出意外的話,再次查看內核,您的 CentOS 內核將會顯示為 3.10。

    如果到這里,您和我們所期望的結果是一致的。恭喜您!下面我們就一起來安裝 Docker 了。

    安裝 Docker

    只需通過以下命令即可安裝 Docker 軟件:

    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm yum -y install docker-io

    可使用以下命令,查看 Docker 是否安裝成功:

    docker version

    若輸出了 Docker 的版本號,則說明安裝成功了,可通過以下命令啟動 Docker 服務:

    service docker start

    一旦 Docker 服務啟動完畢,我們下面就可以開始使用 Docker 了。

    做法

    就像曾經安裝軟件一樣,我們首先需要有一張刻錄了該軟件的光盤,如果您使用的是虛擬光驅,那么就需要運行一種名為“鏡像”的文件,通過它來安裝軟件。在 Docker 的世界里,也有一個名為“鏡像”的東西,已經安裝我們所需的操作系統,我們一般成為“Docker 鏡像”,本文簡稱“鏡像”。

    那么問題來了,我們從哪里下載鏡像呢?

    Docker 官網?確實已經提供了所有的鏡像下載地址,可惜在國內卻是無法訪問的。幸好國內好心人提供了一個?Docker 中文網,在該網站上可以下載我們所需的 Docker 鏡像。

    下載鏡像

    我們不妨還是以 CentOS 為例,通過以下步驟,下載一個 CentOS 的鏡像。

    首先,訪問 Docker 中文網,在首頁中搜索名為“centos”的鏡像,在搜索的結果中,有一個“官方鏡像”,它就是我們所需的。

    然后,進入 CentOS 官方鏡像頁面,在“Pull this repository”輸入框中,有一段命令,把它復制下來,在自己的命令行上運行該命令,隨后將立即下載該鏡像。

    最后,使用以下命令查看本地所有的鏡像:獲取【下載地址】??

    docker images

    當下載完成后,您應該會看到:

    REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE docker.cn/docker/centos centos6 25c5298b1a36 7 weeks ago 215.8 MB

    如果看到以上輸出,說明您可以使用“docker.cn/docker/centos”這個鏡像了,或將其稱為倉庫(Repository),該鏡像有一個名為“centos6”的標簽(Tag),此外還有一個名為“25c5298b1a36 ”的鏡像 ID(可能您所看到的鏡像 ID 與此處的不一致,那是正常現象,因為這個數字是隨機生成的)。此外,我們可以看到該鏡像只有 215.8 MB,非常小巧,而不像虛擬機的鏡像文件那樣龐大。

    現在鏡像已經有了,我們下面就需要使用該鏡像,來啟動容器。

    啟動容器

    容器是在鏡像的基礎上來運行的,一旦容器啟動了,我們就可以登錄到容器中,安裝自己所需的軟件或應用程序。既然鏡像已經下載到本地,那么如何才能啟動容器呢?

    只需使用以下命令即可啟動容器:

    docker run -i -t -v /root/software/:/mnt/software/ 25c5298b1a36 /bin/bash

    這條命令比較長,我們稍微分解一下,其實包含以下三個部分:

    docker run <相關參數> <鏡像 ID> <初始命令>

    其中,相關參數包括:

    • -i:表示以“交互模式”運行容器
    • -t:表示容器啟動后會進入其命令行
    • -v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>

    假設我們的所有安裝程序都放在了宿主機的/root/software/目錄下,現在需要將其掛載到容器的/mnt/software/目錄下。

    需要說明的是,不一定要使用“鏡像 ID”,也可以使用“倉庫名:標簽名”,例如:docker.cn/docker/centos:centos6。

    初始命令表示一旦容器啟動,需要運行的命令,此時使用“/bin/bash”,表示什么也不做,只需進入命令行即可。

    安裝相關軟件

    為了搭建 Java Web 運行環境,我們需要安裝 JDK 與 Tomcat,下面的過程均在容器內部進行。我們不妨選擇/opt/目錄作為安裝目錄,首先需要通過cd /opt/命令進入該目錄。

    安裝 JDK

    首先,解壓 JDK 程序包:

    <1 wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u4-b20/jdk-7u4-linux-x64.tar.gz" <2 tar -zxf jdk-7u4-linux-x64.tar.gz

    然后,重命名 JDK 目錄:

    mv jdk1.7.0_67/ jdk/

    安裝 Tomcat

    首先,解壓 Tomcat 程序包:

    <1 wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.52/bin/apache-tomcat-7.0.52.tar.gz <2 tar -zxf apache-tomcat-7.0.52.tar.gz

    然后,重命名 Tomcat 目錄:

    mv apache-tomcat-7.0.55/ tomcat/

    設置環境變量

    首先,編輯.bashrc文件

    vi ~/.bashrc

    然后,在該文件末尾添加如下配置:

    export JAVA_HOME=/opt/jdk export PATH=$PATH:$JAVA_HOME

    最后,需要使用source命令,讓環境變量生效:

    source ~/.bashrc

    編寫運行腳本

    我們需要編寫一個運行腳本,當啟動容器時,運行該腳本,啟動 Tomcat,具體過程如下:

    首先,創建運行腳本:

    vi /root/run.sh

    然后,編輯腳本內容如下:

    #!/bin/bash source ~/.bashrc sh /opt/tomcat/bin/catalina.sh run

    注意:這里必須先加載環境變量,然后使用 Tomcat 的運行腳本來啟動 Tomcat 服務。

    最后,為運行腳本添加執行權限:

    chmod u+x /root/run.sh

    退出容器

    當以上步驟全部完成后,可使用exit命令,退出容器。

    隨后,可使用如下命令查看正在運行的容器:

    docker ps

    此時,您應該看不到任何正在運行的程序,因為剛才已經使用exit命令退出的容器,此時容器處于停止狀態,可使用如下命令查看所有容器:

    docker ps -a

    輸出如下內容:

    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 57c312bbaad1 docker.cn/docker/centos:centos6 "/bin/bash" 27 minutes ago Exited (0) 19 seconds ago naughty_goldstine

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

    創建 Java Web 鏡像

    使用以下命令,根據某個“容器 ID”來創建一個新的“鏡像”:

    docker commit 57c312bbaad1 huangyong/javaweb:0.1

    該容器的 ID 是“57c312bbaad1”,所創建的鏡像名是“huangyong/javaweb:0.1”,隨后可使用鏡像來啟動 Java Web 容器。

    啟動 Java Web 容器

    有必要首先使用docker images命令,查看當前所有的鏡像:

    REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE huangyong/javaweb 0.1 fc826a4706af 38 seconds ago 562.8 MB docker.cn/docker/centos centos6 25c5298b1a36 7 weeks ago 215.8 MB

    可見,此時已經看到了最新創建的鏡像“huangyong/javaweb:0.1”,其鏡像 ID 是“fc826a4706af”。正如上面所描述的那樣,我們可以通過“鏡像名”或“鏡像 ID”來啟動容器,與上次啟動容器不同的是,我們現在不再進入容器的命令行,而是直接啟動容器內部的 Tomcat 服務。此時,需要使用以下命令:

    docker run -d -p 58080:8080 --name javaweb huangyong/javaweb:0.1 /root/run.sh

    稍作解釋:

    • -d:表示以“守護模式”執行/root/run.sh腳本,此時 Tomcat 控制臺不會出現在輸出終端上。
    • -p:表示宿主機與容器的端口映射,此時將容器內部的 8080 端口映射為宿主機的 58080 端口,這樣就向外界暴露了 58080 端口,可通過 Docker 網橋來訪問容器內部的 8080 端口了。
    • --name:表示容器名稱,用一個有意義的名稱命名即可。

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

    在一系列參數后面的是“鏡像名”或“鏡像 ID”,怎么方便就怎么來。最后是“初始命令”,它是上面編寫的運行腳本,里面封裝了加載環境變量并啟動 Tomcat 服務的命令。

    當運行以上命令后,會立即輸出一長串“容器 ID”,我們可通過docker ps命令來查看當前正在運行的容器。

    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 82f47923f926 huangyong/javaweb:0.1 "/root/run.sh" 4 seconds ago Up 3 seconds 0.0.0.0:58080->8080/tcp javaweb

    品嘗

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

    http://192.168.65.132:58080/

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

    總結

    通過本文,我們了解了 Docker 是什么?它與虛擬機的差別在哪里?以及如何安裝 Docker?如何下載 Docker 鏡像?如何運行 Docker 容器?如何在容器內安裝應用程序?如何在容器上創建鏡像?如何以服務的方式啟動容器?這一切看似簡單,但操作也是相當繁瑣的,不過熟能生巧,需要我們不斷地操練。

    除了這種手工生成 Docker 鏡像的方式以外,還有一種更像是寫代碼一樣,可以自動地創建 Docker 鏡像的方式。只需要我們編寫一個 Dockerfile 文件,隨后使用docker build命令即可完成以上所有的手工操作。

    轉載于:https://www.cnblogs.com/koliop090/p/5203599.html

    總結

    以上是生活随笔為你收集整理的Docker Java+Tomcat 环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。