1. 程式人生 > >docker執行tomcat

docker執行tomcat

一、下載一個Linux版本的jdk和tomcat解壓到同一個目錄下

       我解壓到了/home/zzq/app目錄

二、登入到Ubuntu(或者其他系統)容器中去配置

docker run -i -t -v /home/zzq/app/:/mnt/software/ 0ef2e08ed3fa /bin/bash
docker run <相關引數> <映象 ID> <初始命令>

相關引數包括:
-i:表示以“互動模式”執行容器
-t:表示容器啟動後會進入其命令列
-v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>

我現在把宿主機的/home/zzq/app目錄掛載在Ubuntu上的/mnt/software目錄下

JAVA_HOME=/opt/software/jdk1.7.0_80
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

將software拷貝到任意一個目錄,我拷貝到了/opt下

[email protected]:/mnt# cp software/ /opt/
cp: omitting directory 'software/'
[email protected]:/mnt# cp -R software/ /opt/

接下來配置jdk的環境變數:

[email protected]:/opt/software# vi /etc/profile

加入

JAVA_HOME=/opt/software/jdk1.7.0_80
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

然後source /etc/profile測試下jdk是否安裝成功

這個時候再寫一個shell指令碼

vi /opt/software/run.sh 
#!/bin/bash
source /etc/profile
sh /opt/software/apache-tomcat-7.0.76/bin/catalina.sh run

並給執行許可權 chmod u+x /opt/software/run.sh

三、儲存更改commit

四、啟動剛剛儲存的容器

[[email protected] ~]$ docker run -d -p 58080:8080 --name javaweb3 0ef2e08ed3fa  /opt/software/run.sh
45131f0bedc97a67b3917858d747b94035c398f572602e5765d89ded8a2bbb61

稍作解釋:


-d:表示以“守護模式”執行/root/run.sh指令碼,此時 Tomcat 控制檯不會出現在輸出終端上。
-p:表示宿主機與容器的埠對映,此時將容器內部的 8080 埠對映為宿主機的 58080 埠,這樣就向外界暴露了 58080 埠,可通過 Docker 網橋來訪問容器內部的 8080 埠了。
--name:表示容器名稱,用一個有意義的名稱命名即可。
關於 Docker 網橋的內容,需要補充說明一下。實際上 Docker 在宿主機與容器之間,搭建了一座網路通訊的橋樑,我們可通過宿主機 IP 地址與埠號來對映容器內部的 IP 地址與埠號,


在一系列引數後面的是“映象名”或“映象 ID”,怎麼方便就怎麼來。最後是“初始命令”,它是上面編寫的執行指令碼,裡面封裝了載入環境變數並啟動 Tomcat 服務的命令。


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

[[email protected] ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
45131f0bedc9        0ef2e08ed3fa        "/opt/software/run.sh"   24 minutes ago      Up 24 minutes       0.0.0.0:58080->8080/tcp   javaweb3


五、瀏覽器測試訪問

http://<宿主機的ip>:58080/

我們就可以看到這熟悉的介面了

相關推薦

docker執行tomcat

一、下載一個Linux版本的jdk和tomcat解壓到同一個目錄下        我解壓到了/home/zzq/app目錄 二、登入到Ubuntu(或者其他系統)容器中去配置 docker run -i -t -v /home/zzq/app/:/mnt/software

docker執行tomcat常用引數說明

docker run --restart=always --privileged=true --name case-solr -d -m 1024M -v /usr/docker_data/solrhome:/usr/solrhome -v /usr/docker_data/tomcat/webapps/so

Docker實現執行tomcat並部署專案war包

之前寫的有點亂,現在再來整理一下docker的簡單部署執行 借鑑部落格:https://blog.csdn.net/qq_32351227/article/details/78673591 一、docker的安裝,以及配置開機自啟docker服務就不說了,網上一大把,我也做了另一篇部落格筆記 #。

cenos安裝docker執行tomcat

安裝一些必要的系統工具: yum install -y yum-utils device-mapper-persistent-data lvm2 新增軟體源資訊: yum-config-manager --add-repo http://mirrors.aliyun.com/

使用 Docker 搭建 Tomcat 執行環境

1 Docker與虛擬機器     2 搭建過程 2.1 準備宿主系統 準備一個 CentOS 7作業系統,具體要求如下: 必須是 64 位作業系統 建議核心在 3.8 以上 通過以下命令檢視您的 CentOS 核心: # uname -r 2.2 安裝Docker

docker容器下執行tomcat、部署應用

入門級別的,簡單記錄下docker下執行tomcat,部署自己開發的應用,錯誤之處請詳解。 一、docker安裝 二、拉取tomcat映象 搜尋tomcat映象檔案資訊: docker search tomcat 拉取對應的映象檔案:

Docker實踐-安裝Docker並在容器裡執行tomcat

隨著微服務的流行,Docker越來越流行,正如它的理念”Build, Ship, and Run Any App, Anywhere”一樣,Docker提供的容器隔離技術使得開發人員不用再去理清server裡的各種環境配置,輕鬆把應用執行起來。我們只需把執行環境的配置和應用封裝在Docker的映象(image

使用 Docker 搭建 Tomcat 執行環境並部署war包

根據上述步驟開始部署war包: 1、首先將war包移動到/root/webapps/ mv /mnt/hgfs/shared_docs/sample.war /root/webapps

GIS+=地理信息+容器技術(4)——Docker執行

ros log height via trac hostname ash data- ps命令 -----------------------------------------------------------------------------

prometheus+grafana+docker 監控tomcat jvm

prometheus mesos docker tomcat jvm 說明:基於環境mesos+marathon+docker+prometheus+grafana監控tomcat一、配置環境(1)dockerfile from tomcat COPY tomcat-users.xml /

docker 搭建Tomcat web 簡單示例過程

docker本文內容為分布式系統課程中所做的一個作業內容,具體示例過程沒有全部分享到文中,僅供參考。(1)以公共倉庫的Tomcat鏡像為基礎鏡像進行容器創建,拉取鏡像命令:docker pull tomcat。(2)將java和tomcat 放置宿主機/tmp下。(3)創建容器,並將本地目錄映射到Docker

redash docker 執行

redash 、superset 、metabase 都是很不錯的資料分析工具,支援多種資料來源,同時可以方便的生成報表 基本上都支援定製化報表介面、通知(定時),metabase 有點偏產品,superset 使用上,也挺不錯,同時 已經在apache 進行孵化 使用docker compose 執

eclipse執行tomcat埠號佔用

Several ports (8005, 8080, 8009) required by Tomcat v8.0 Server at localhost are already in use. The server may already be running

Docker執行tracker,The path /var/fdfs/tracker is not shared from OS X and is not known to Docker

Docker裝FastDFS,執行tracker,錯誤:The path /var/fdfs/tracker is not shared from OS X and is not known to Docker 執行如下命令開啟tracker 服務 docker run -dti -

執行Tomcat出現1099埠問題怎麼辦

1. 在工作管理員中新增pid列 2. 開啟cmd命令列輸入netstat -aon|findstr 1099(注意中間的空格不能省略) 3. 找到相應的1099的pid列殺死程序 為了不出現這樣的問題要注意的地方 &

eclipse中執行tomcat出現錯誤:-Djava.endorsed.dirs=/users/huchao/library/tomcat-9/endorsed is not supported

-Djava.endorsed.dirs=/users/huchao/library/tomcat-9/endorsed is not supported. Endorsed standards and standalone APIs in modular form will be supported vi

使用Docker執行spark

獲取docker映象 sudo docker pull sequenceiq/spark:1.6.0 執行docker容器 sudo docker run -it --name spark --rm sequenceiq/spark:1.6.0 /bin/bash 執行作

使用Docker執行hadoop

獲取docker映象 sudo docker pull sequenceiq/hadoop-docker:2.7.0 執行docker容器 sudo docker run -it --name hadoop --rm sequenceiq/hadoop-docker:2.7.

docker 執行一個二進位制檔案(部署go web)

在搜尋引擎中,搜尋了一下如何部署一個go的程式, 發現都是基於golang的映象部署go原始碼的方案 而基於golang原始碼部署 docker image的大小有700MB, 有時候並不需要這麼大,我們生成二進位制檔案後 只需要基於centos來製作image就可以了, 當然如果對

docker 執行java程式時區問題

如果 docker  上面 java  的當前時間比,真實時間慢了8 小時,那估計就是時區問題了, 需要在 打包docker映象的時候 帶上 localtime 和  timezone。(這2 個檔案後面附件裡面有) Dockerfile 裡面也要把 這個檔