Docker-利用dockerfile來(lái)搭建tomcat服務(wù)

在前面的例子中,我們從下載鏡像,啟動(dòng)容器良哲,在容器中輸入命令來(lái)運(yùn)行程序,這些命令都是手工一條條往里輸入的系任,無(wú)法重復(fù)利用,而且效率很低虐块。所以就需要一 種文件或腳本俩滥,我們把想執(zhí)行的操作以命令的方式寫(xiě)入其中,然后讓docker讀取并分析贺奠、執(zhí)行举农,那么重復(fù)構(gòu)建、更新將變得很方便敞嗡,所以Dockerfile就此誕生了。

常用參數(shù):

FROM命令航背。用法喉悴,F(xiàn)ROM?<image>:<tag>。FROM命令告訴docker我們構(gòu)建的鏡像是以哪個(gè)(發(fā)行版)鏡像為基礎(chǔ)的

RUN命令玖媚。用法RUN?<command>箕肃。RUN 后面接要執(zhí)行的命令,比如今魔,我們想在鏡像中安裝vim勺像,只需在Dockfile中寫(xiě)入RUN yum install -y vim

ENV命令。用法,ENV??<value>错森。ENV命令主要用于設(shè)置容器運(yùn)行時(shí)的環(huán)境變量

ADD命令吟宦。用法,ADD??<dest>涩维。ADD主要用于將宿主機(jī)中的文件添加到鏡像中

首先建一個(gè)目錄構(gòu)建我們的環(huán)境殃姓。

mkdirtest/web

上傳tomcat和jdk到該目錄下。

[root@wls12c web]$lsapache-tomcat-7.0.70.tar.gz? jdk-7u80-linux-x64.tar.gz

編輯Dockerfile

vim Dockerfile

#pull down centos image

FROM centos

MAINTAINER test@test.com

#copy jdk and tomcat into image

ADD ./apache-tomcat-7.0.70.tar.gz /root

ADD ./jdk-7u80-linux-x64.tar.gz /root

#set environment variable

ENV JAVA_HOME /root/jdk1.7.0_80

ENV PATH $JAVA_HOME/bin:$PATH#defineentry point which will be run first when the container starts upENTRYPOINT /root/apache-tomcat-7.0.70/bin/startup.sh&&tail-F /root/apache-tomcat-7.0.70/logs/catalina.out

構(gòu)建鏡像

[root@wls12c web]$ docker build -t keven/centos:tomcat-centos --rm=true .

Sending build context to Docker daemon 470.4 MB

Sending build context to Docker daemon

Step 0 : FROM centos

---> d83a55af4e75

Step 1 : MAINTAINER test@test.com

---> Runningin 955747d64da5

---> 1619dc8f6d58

................70/logs/catalina.out

---> Runningin fe48acf12d70

---> 52076383f11b

Removing intermediate container fe48acf12d70

Successfully built 52076383f11b

-t選擇指定生成鏡像的用戶名瓦阐,倉(cāng)庫(kù)名和tag

--rm=true指定在生成鏡像過(guò)程中刪除中間產(chǎn)生的臨時(shí)容器蜗侈。

查看新產(chǎn)生的鏡像

[root@wls12c web]$ docker images keven/centos

REPOSITORY? ? ? ? ? TAG? ? ? ? ? ? ? ? IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? VIRTUAL SIZE

keven/centos? ? ? ? tomcat-centos? ? ? 52076383f11b19minutes ago516.6MB

運(yùn)行鏡像

[root@wls12c web]$ docker run -d -p8090:808052078260fa22aa32126f613a6b64f121e78545ceae01da58c61396968bfafeda3706

-p指定主機(jī)8090端口與容器8080端口進(jìn)行綁定

-d?指定容器運(yùn)行后與當(dāng)前tty分離,后臺(tái)運(yùn)行

5207是鏡像的ID前4位睡蟋。

通過(guò)? http://宿主機(jī)IP:8090,即可看見(jiàn)我們熟悉的tomcat首頁(yè)了踏幻。

另外還有一種自動(dòng)映射主機(jī)端口的啟動(dòng)方法

[root@wls12c web]$ docker run -d -p8080--name myweb520de39869a8c560e5e0cf48fc6022c05ed9f9a145bdafb897767fa468dc24ebfff

[root@wls12c web]$ docker port de38080/tcp ->0.0.0.0:32768[root@wls12c web]$

這樣就要通過(guò)http://宿主機(jī)IP:32768訪問(wèn)了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末戳杀,一起剝皮案震驚了整個(gè)濱河市该面,隨后出現(xiàn)的幾起案子夭苗,更是在濱河造成了極大的恐慌,老刑警劉巖吆倦,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件听诸,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蚕泽,警方通過(guò)查閱死者的電腦和手機(jī)晌梨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)须妻,“玉大人仔蝌,你說(shuō)我怎么就攤上這事』睦簦” “怎么了敛惊?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)绰更。 經(jīng)常有香客問(wèn)我瞧挤,道長(zhǎng),這世上最難降的妖魔是什么儡湾? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任特恬,我火速辦了婚禮,結(jié)果婚禮上徐钠,老公的妹妹穿的比我還像新娘癌刽。我一直安慰自己,他們只是感情好尝丐,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布显拜。 她就那樣靜靜地躺著,像睡著了一般爹袁。 火紅的嫁衣襯著肌膚如雪远荠。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,584評(píng)論 1 312
  • 那天失息,我揣著相機(jī)與錄音矮台,去河邊找鬼。 笑死根时,一個(gè)胖子當(dāng)著我的面吹牛瘦赫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛤迎,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼确虱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了替裆?” 一聲冷哼從身側(cè)響起校辩,我...
    開(kāi)封第一講書(shū)人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤窘问,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后宜咒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體惠赫,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年故黑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了儿咱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡场晶,死狀恐怖混埠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诗轻,我是刑警寧澤钳宪,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站扳炬,受9級(jí)特大地震影響吏颖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜恨樟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一半醉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧厌杜,春花似錦、人聲如沸计螺。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)登馒。三九已至匙握,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陈轿,已是汗流浹背圈纺。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留麦射,地道東北人蛾娶。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像潜秋,于是被迫代替她去往敵國(guó)和親蛔琅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 1.Docker簡(jiǎn)介 1.1 什么是虛擬化 在計(jì)算機(jī)中峻呛,虛擬化(英語(yǔ):Virtualization)是一種資源管理...
    EdwinGates閱讀 1,766評(píng)論 0 0
  • docker基本概念 1. Image Definition 鏡像 Image 就是一堆只讀層 read-only...
    慢清塵閱讀 8,763評(píng)論 1 21
  • Docker 學(xué)習(xí)目標(biāo): 掌握Docker基礎(chǔ)知識(shí)罗售,能夠理解Docker鏡像與容器的概念 完成Docker安裝與啟...
    執(zhí)筆夢(mèng)一場(chǎng)閱讀 3,246評(píng)論 2 10
  • 五辜窑、Docker 端口映射 無(wú)論如何,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機(jī)是訪問(wèn)不到的寨躁。此外穆碎,除了...
    R_X閱讀 1,758評(píng)論 0 7
  • 2019.08.18 晴 親子日記18篇 今天,開(kāi)心問(wèn)了一個(gè)問(wèn)題职恳,媽媽所禀,我是你生出來(lái)的嗎?是的话肖,你是媽媽...
    紫薔薇_041f閱讀 314評(píng)論 6 6