麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

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

2019-11-02 16:59:46
字體:
來源:轉載
供稿:網友

前言

在第一篇文字中,我們完全人工方式,一個命令一個命令輸入,實現一個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 "[email protected]"# 更新源,安裝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,方能暢通無阻。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产亚洲精品综合一区91555 | 精品一区二区三区欧美 | av在线1| 毛片免费在线观看 | 午夜国产福利 | 免费黄色大片网站 | 欧美一级黄色片免费观看 | 一区二区三区在线观看视频 | 九一成人 | 久久精品久 | 成人免费电影在线观看 | 国产精品啪一品二区三区粉嫩 | 成人黄视频在线观看 | 免费观看黄色一级视频 | 久久久一区二区三区四区 | 国产资源在线播放 | 久久成人综合视频 | 国产精品一区久久久久 | www.精品视频 | h视频免费观看 | 国产羞羞视频在线免费观看 | 久久国产精品二国产精品中国洋人 | 中国精品久久 | 国产做爰全免费的视频黑人 | 狠狠干五月| 久久久久一区二区三区四区五区 | 久久色伦理资源站 | 欧美一级无毛 | 久久久久免费电影 | 久久久麻豆 | av电影网站在线 | 国产精品久久久久久久久久久天堂 | 性欧美xxxx极品摘花 | 日韩精品久久久久久久九岛 | 亚洲精品在线观看免费 | 久久精品一级 | 久久色在线| 中文字幕在线观看日韩 | 久久我不卡| 粉嫩蜜桃麻豆免费大片 | 久久千人斩|