簡述Docker安裝Tomcat鏡像并部署web項(xiàng)目
一、安裝Tomcat
1、查找Docker Hub上的tomcat鏡像
docker search tomcat
2、拉取官方的鏡像
docker pull tomcat
等待下載完畢,需要一些時(shí)間。
3、查看docker所有的鏡像
docker images
4、啟動(dòng)tomcat鏡像
注:前者是外圍訪問端口:后者是容器內(nèi)部端口
docker run -d -p 8080:8080 tomcat
注:前者是外圍訪問端口:后者是容器內(nèi)部端口
如下命令可后臺(tái)啟動(dòng)tomcat
-d: 后臺(tái)運(yùn)行容器,并返回容器ID;
-i: 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;
-t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;
docker run –d -p 8080:8080 tomcat
如下則啟動(dòng)成功:
5、查看正在運(yùn)行的容器
docker ps
輸入ip和端口即可查看tomcat主頁:
二、向Tomcat部署自己的web項(xiàng)目
1、上傳war包
2、創(chuàng)建并編輯”Dockerfile”,內(nèi)容如下:
from tomcat MAINTAINER *********@163.com RUN rm -rf /usr/local/tomcat/webapps/* COPY button.war /usr/local/tomcat/webapps ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
說明:
from tomcat #你的 tomcat的鏡像 MAINTAINER *********@163.com #作者 COPY button.war /usr/local/tomcat/webapps #放置到tomcat的webapps目錄下
3、生成新的鏡像
docker build -t button:v1 .
4、啟動(dòng)新的鏡像
docker run -d -p 8080:8080 button:v1
5、查看已啟動(dòng)鏡像
可以加上參數(shù)-itd后臺(tái)啟動(dòng)tomcat,用以下方式查看已啟動(dòng)的鏡像
docker ps
6、查看tomcat中的項(xiàng)目
可以使用如下命令進(jìn)入tomcat鏡像:
docker exec -it ******* /bin/bash #******是容器id(CONTAINER_ID)
當(dāng)我們進(jìn)入鏡像后,想對(duì)某些參數(shù)進(jìn)行修改時(shí),一般需要安裝文本編輯器,以vim為例:
由于下載地址是海外地址,下載速度非常慢而且可能出現(xiàn)中斷,所以做如下配置:
mv /etc/apt/sources.list /etc/apt/sources.list.bak echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
然后更新
apt update
現(xiàn)在就可以安裝我們需要的軟件了,例如vim
apt install vim
7、輸入ip和端口進(jìn)行查看
8、可以查看指定容器的log
docker logs -f 容器id
9、部署web項(xiàng)目后也許會(huì)出現(xiàn)docker容器與宿主、docker 容器與tomcat 應(yīng)用打印日志時(shí)間和我們當(dāng)前時(shí)間相差8個(gè)小時(shí),可以添加如下配置:
①啟動(dòng)容器時(shí),將系統(tǒng)時(shí)間掛載到容器內(nèi),可以解決docker容器與宿主時(shí)間不一致問題,如下所示:
添加參數(shù)
-v /etc/localtime:/etc/localtime:ro
完整命令如下示例:
sudo docker run -d --name button-api -p 8080:8080 -v /etc/localtime:/etc/localtime:ro button-api:v1
②docker 容器與tomcat 應(yīng)用打印日志時(shí)間不一致
啟動(dòng)tomcat容器后進(jìn)入tomcat的"bin"目錄,修改catalina.sh文件
在注釋結(jié)束的第一行添加如下內(nèi)容:
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"
如下圖所示:
修改保存后重啟docker容器就可以了。
重啟方法:
"docker ps"查詢?nèi)萜鱥d,使用如下命令重啟:
docker restart 容器id
到此即可解決該問題。
到此這篇關(guān)于簡述Docker安裝Tomcat鏡像并部署web項(xiàng)目的文章就介紹到這了,更多相關(guān)Docker安裝Tomcat鏡像并部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker遠(yuǎn)程連接設(shè)置的實(shí)現(xiàn)示例
本文主要介紹了Docker遠(yuǎn)程連接設(shè)置的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Docker安裝部署RabbitMQ的實(shí)現(xiàn)步驟
RabbitMQ是一款開源的消息隊(duì)列中間件,能夠在分布式系統(tǒng)中實(shí)現(xiàn)可靠的消息傳遞,本文主要介紹了Docker安裝部署RabbitMQ的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10Docker不同宿主機(jī)網(wǎng)絡(luò)打通的操作方案
這篇文章主要介紹了Docker不同宿主機(jī)網(wǎng)絡(luò)打通的方案?,本方式使用docker?Swarm集群的方式創(chuàng)建overlay?網(wǎng)絡(luò)進(jìn)行打通,需要的朋友可以參考下2024-08-08Ubuntu?環(huán)境下安裝?Docker環(huán)境詳解
這篇文章主要介紹了Ubuntu?環(huán)境下安裝?Docker環(huán)境詳解的相關(guān)資料,需要的朋友可以參考下2022-10-10用Docker swarm快速部署Nebula Graph集群的教程
這篇文章主要介紹了用Docker swarm快速部署Nebula Graph集群的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Docker沒有啟動(dòng)環(huán)境變量的問題解決
在使用Docker容器時(shí),有時(shí)候我們會(huì)遇到一個(gè)問題,就是在容器中沒有啟動(dòng)環(huán)境變量,本文主要介紹了Docker沒有啟動(dòng)環(huán)境變量的問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02在Docker中利用Tomcat快速部署web應(yīng)用的方法示例
這篇文章我們就來說一下怎么在docker中快速部署一個(gè)web應(yīng)用。文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01