亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Docker學習之基于Dockerfile搭建JAVA Tomcat運行環境的方法

2024-09-01 13:50:21
字體:
來源:轉載
供稿:網友

前言

在第一篇文字中,我們完全人工方式,一個命令一個命令輸入,實現一個java tomcat運行環境,雖然也初見成效,但很累人。如果依靠依靠腳本構建一個Tomcat容器實例,一個命令可以搞定,何樂而不為呢。好在Docker提供了Dockerfile作為構建Docker鏡像腳本,避免人們一行一行的輸入,真是善莫大焉。Dockerfile腳本可以做到隨時維護修改,即可以分享,更有利于在模板化,更不用說傳輸了,好處那是一大籮筐!

最終目的:打造一個支持SSH終端登錄、Tomcat7自動運行的Docker鏡像。

編寫一個Dockerfile

所有環境,同第一篇文字。在ubuntu下安裝好vim之后(吐槽一下,ubuntu系統內置vi命令十分難用,只好求助于vim ):

sudo vim Dockerfile

編輯一個Dockerfile文件了,下面就是具體文件內容:

# VERSION 0.0.1# 默認ubuntu server長期支持版本,當前是12.04FROM ubuntu# 簽名啦MAINTAINER yongboy "yongboy@gmail.com"# 更新源,安裝ssh serverRUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe"> /etc/apt/sources.listRUN apt-get updateRUN apt-get install -y openssh-serverRUN mkdir -p /var/run/sshd# 設置root ssh遠程登錄密碼為123456RUN echo "root:123456" | chpasswd # 添加orache java7源,一次性安裝vim,wget,curl,java7,tomcat7等必備軟件RUN apt-get install python-software-propertiesRUN add-apt-repository ppa:webupd8team/javaRUN apt-get updateRUN apt-get install -y vim wget curl oracle-java7-installer tomcat7# 設置JAVA_HOME環境變量RUN update-alternatives --display javaRUN echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle">> /etc/environmentRUN echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle">> /etc/default/tomcat7# 容器需要開放SSH 22端口EXPOSE 22# 容器需要開放Tomcat 8080端口EXPOSE 8080# 設置Tomcat7初始化運行,SSH終端服務器作為后臺運行ENTRYPOINT service tomcat7 start && /usr/sbin/sshd -D

需要注意:

  • ENTRYPOINT,表示鏡像在初始化時需要執行的命令,不可被重寫覆蓋,需謹記
  • CMD,表示鏡像運行默認參數,可被重寫覆蓋
  • ENTRYPOINT/CMD都只能在文件中存在一次,并且最后一個生效 多個存在,只有最后一個生效,其它無效!
  • 需要初始化運行多個命令,彼此之間可以使用 && 隔開,但最后一個須要為無限運行的命令,需切記!

ENTRYPOINT/CMD,一般兩者可以配合使用,比如:

ENTRYPOINT ["/usr/sbin/sshd"]CMD ["-D"]

在Docker daemon模式下,無論你是使用ENTRYPOINT,還是CMD,最后的命令,一定要是當前進程需要一直運行的,才能夠防容器退出。

以下無效方式:

 ENTRYPOINT service tomcat7 start #運行幾秒鐘之后,容器就會退出 CMD service tomcat7 start #運行幾秒鐘之后,容器就會退出

這樣有效:

ENTRYPOINT service tomcat7 start && tail -f /var/lib/tomcat7/logs/catalina.out# 或者CMD service tomcat7 start && tail -f /var/lib/tomcat7/logs/catalina.out

這樣也有效:

 ENTRYPOINT ["/usr/sbin/sshd"] CMD ["-D"]

構建鏡像

腳本寫好了,需要轉換成鏡像:

docker build -t yongboy/java7 .

-t: 為構建的鏡像制定一個標簽,便于記憶/索引等

. : 指定Dockerfile文件在當前目錄下

網速不太好,會等待很長時間。很多操作可能需要科學上網,逼得我只能一直掛著VPN,方能暢通無阻。

構建鏡像完成之后,看看運行效果:

docker run -d -p 22 -p 8080:8080 yongboy/java7

在運行命令中,還得需要顯式指定 -p 22 -p 8080:8080,否則在Docker 0.8.1版本中不會主動映射到宿主機上。據悉在Docker 0.4.8版本時,就不擔心這個問題。 或者,您要有好的方式,不妨告知于我,謝謝。

在Dockerfile中,若沒有使用ENTRYPOINT/CMD指令,若運行多個命令,可以這樣做:

 

復制代碼 代碼如下:

docker run -d -p 22 -p 8080 yongboy/java7 /bin/sh -c "service tomcat7 start && /usr/sbin/sshd -D"

 

提交/保存鏡像

創建好的鏡像,可以保存到索引倉庫中,便于下次使用(當然,我們直接共享Dockerfile,是最簡單的事情,:)) ),但畢竟鏡像可以做到開箱即用。

1、https://index.docker.io/ 注冊一個賬號,例如yongboy

2、構建鏡像

docker build -t yongboy/java7 .

上面已經構建OK的話,可省略此步。

3、登陸

docker login

4、提交到Docker索引倉庫

docker push yongboy/java7

現在可以起來喝杯熱水,出去溜達會,也不一定能夠上傳完畢,那叫一個慢??!

上傳OK的話,可以得到類似地址:https://index.docker.io/u/yongboy/java7/

5、如何使用鏡像

docker pull yongboy/java7

剩下的步驟,就很簡單了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品96久久久久久又黄又硬| 色偷偷综合社区| 欧美极品少妇全裸体| 国产精品一区专区欧美日韩| 亚洲一区中文字幕在线观看| 91久久久精品| 欧美性xxxxxxx| 国产成人综合av| 91大神在线播放精品| 欧美激情高清视频| 国产又爽又黄的激情精品视频| 亚洲人成77777在线观看网| 欧美午夜影院在线视频| 日韩最新在线视频| 久久久视频免费观看| 久久99国产精品久久久久久久久| 91亚洲国产成人精品性色| 欧美第一黄色网| 亚洲欧美日韩一区二区三区在线| 日韩电影免费观看在线观看| 久久久久亚洲精品成人网小说| 日韩精品亚洲视频| 欧美日韩亚洲91| 亚洲电影免费在线观看| 国产精品无码专区在线观看| 中文字幕亚洲欧美一区二区三区| 欧美自拍视频在线观看| 精品亚洲一区二区三区在线观看| 亚洲欧美日韩国产成人| 欧美影院在线播放| 日韩中文综合网| 欧美性xxxx在线播放| 欧美性生交xxxxx久久久| 91精品国产高清久久久久久| 亚洲自拍欧美色图| 欧美大学生性色视频| 久久免费视频这里只有精品| 欧美激情精品久久久久久久变态| 在线丨暗呦小u女国产精品| 亚洲美女中文字幕| 国产精品欧美亚洲777777| 一区二区欧美日韩视频| 久久精品国产一区二区电影| 亚洲美女av在线播放| 精品日韩中文字幕| 欧美一级片一区| 国内精品视频一区| 日韩在线视频一区| 亚洲精品成人久久| 欧美成人亚洲成人| 国产一区二区丝袜高跟鞋图片| 亚洲日本中文字幕| www.99久久热国产日韩欧美.com| 91久久久国产精品| 亚洲成av人影院在线观看| 国产一区二区三区久久精品| 91色在线视频| 久久综合网hezyo| x99av成人免费| 欧美激情视频网站| 亚洲视频第一页| 久久精品2019中文字幕| 在线看片第一页欧美| 亚洲伊人一本大道中文字幕| 深夜成人在线观看| 成人高h视频在线| 亚洲激情视频网| 亚洲一区精品电影| 热99在线视频| 欧美在线视频观看| 国产一区二区三区在线视频| 欧美在线视频播放| 97视频com| 一区二区三区四区精品| 中文字幕日韩在线视频| 中文字幕亚洲欧美| 久久国产精品免费视频| 欧美专区中文字幕| 青青草99啪国产免费| 国产精品成人久久久久| 亚洲丁香久久久| 91欧美精品成人综合在线观看| 久久久精品视频在线观看| 国产ts人妖一区二区三区| 中文字幕精品—区二区| 国产视频欧美视频| 尤物精品国产第一福利三区| 亚洲精品视频免费在线观看| 57pao成人永久免费视频| 91性高湖久久久久久久久_久久99| 日韩欧美a级成人黄色| 久久中国妇女中文字幕| 国产精品久久久av久久久| 91免费精品国偷自产在线| 成人综合网网址| 亚洲精品国产精品国自产观看浪潮| 亚洲xxxx妇黄裸体| 亚洲全黄一级网站| 亚洲国产精品va| 欧美电影免费观看高清| 久久久精品欧美| 97在线视频免费| 2019中文字幕在线免费观看| 国产精品久久久久久久久免费| 欧美日韩亚洲高清| 国产成+人+综合+亚洲欧美丁香花| 亚洲成人免费在线视频| 一区二区三区回区在观看免费视频| 日韩成人网免费视频| 成人动漫网站在线观看| 国产激情久久久| 欧美另类极品videosbest最新版本| 久久精品成人欧美大片古装| 狠狠操狠狠色综合网| 欧洲美女7788成人免费视频| 欧美日韩国产一区二区三区| 国产伦精品一区二区三区精品视频| 久久在线观看视频| 国产一区二区三区18| 国产精品第3页| 国产一区视频在线播放| 最近2019中文字幕大全第二页| 欧美性做爰毛片| 色yeye香蕉凹凸一区二区av| 欧美日韩国产精品| 中文字幕在线观看日韩| 国产成人精品免高潮费视频| 久久久久久久久网站| 欧美激情综合色综合啪啪五月| 青青草原一区二区| 日本久久中文字幕| 岛国av一区二区| 欧美在线激情视频| 亚洲综合av影视| 91精品视频观看| 欧美日韩一区二区在线| 日韩在线观看免费全集电视剧网站| 久久国产精品久久久久久| 日韩电影中文字幕一区| 久久视频免费观看| 91最新在线免费观看| 日韩av在线免播放器| 国产成人高清激情视频在线观看| 日韩视频―中文字幕| 青青在线视频一区二区三区| 国产精品国产自产拍高清av水多| 欧美视频在线观看免费网址| 91精品国产色综合久久不卡98口| 亚洲福利视频网站| 日本免费一区二区三区视频观看| 欧美午夜精品在线| 91在线高清免费观看| 欧美在线视频免费观看| 亚洲深夜福利视频| 538国产精品一区二区在线| 91免费的视频在线播放| 狠狠色狠狠色综合日日五| 成人免费观看网址| 少妇精69xxtheporn| 91精品国产成人www| 欧美亚洲免费电影| 国产精品2018| 一区二区在线视频| 亚洲国产欧美一区|