国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Docker應用實踐:一個簡單的Java EE&Docker示例

云計算
學習Docker的最好辦法就是迅速在工作中應用它,本文作者使用Docker部署了一個Java EE應用,非常簡單和方便。需要注意的是,由于作者寫作時本地網絡有問題,所以Dockerfile中很多的資源都沒有從網絡下載,你再實踐時,可以嘗試修改。

學習Docker的***辦法就是迅速在工作中應用它,本文作者使用Docker部署了一個Java EE應用,非常簡單和方便。需要注意的是,由于作者寫作時本地網絡有問題,所以Dockerfile中很多的資源都沒有從網絡下載,你再實踐時,可以嘗試修改。學習快樂 :)

本文中,我們將會把Java EE和Docker結合,具體內容如下:

  • 創建、構建并運行一個Docker鏡像;
  • 通過鏡像啟動一個Wildfly服務器,并部署了一個JavaEE示例應用;
  • 展示一些常用的Docker命令;
  • 啟動多個容器,并讓同一應用運行于不同端口。

引言

在這里我不再介紹Docker,因為已經有太多的介紹性的文章。寫本文之前,我閱讀了如下教程:

前提條件

要完成本教程,你需要:

  • 有一個運行于宿主機上的Docker后臺進程
  • 安裝Docker后,在etc\default\docker文件中添加一行:DOCKER_OPTS="-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
  • 此后重啟機器并嘗試運行這個命令:docker -H tcp://127.0.0.1:2375 –version,輸出應該類似這樣的:Docker version 1.4.1, build 5bc2ff8
  • 一個Wildfly 8.2.0的安裝程序(解壓后的);
  • jdk-8u25-linux-x64.tar.gz文件。(http://www.oracle.com/technetwork/java/javase/downloads/index.html)
  • 下載 car-service.war。(https://github.com/rmpestano/javaee-docker-sample/blob/master/java_ee/car-service.war)
  • 下載 Dockerfile。(https://github.com/rmpestano/javaee-docker-sample/blob/master/java_ee/Dockerfile)

創建Docker鏡像

Docker鏡像展現/描述了容器本身。由于我的網絡帶寬有限(手機3G),在這里我使用本機資源創建了一個鏡像。因此,這個鏡像只有在包含如下文件的目錄下構建才能使用:

  • wildfly-8.2.0.Final:應用服務器
  • car-service.war:要部署的應用
  • Dockerfile:描述容器的文件
  • jdk-8u25-linux-x64.tar.gz:要在容器里安裝的java版本

注意:不推薦在Docker容器中使用本地資源,因為只有當所有文件都存在時鏡像才可以正常構建。***的辦法是從頭安裝所有東西并下載必要的文件。

這是Dockerfile的內容:

  1. FROM ubuntu 
  2. MAINTAINER Rafael Pestano <rmpestano@gmail.com> 
  3. setup WildFly 
  4. COPY wildfly-8.2.0.Final /opt/wildfly 
  5. install example app on wildfy 
  6. COPY car-service.war /opt/wildfly/standalone/deployments/ 
  7. setup Java 
  8. RUN mkdir /opt/java 
  9.  
  10. COPY jdk-8u25-linux-x64.tar.gz /opt/java/ 
  11. change dir to Java installation dir 
  12. WORKDIR /opt/java/ 
  13.  
  14. RUN tar -zxf jdk-8u25-linux-x64.tar.gz 
  15. setup environment variables 
  16. RUN update-alternatives --install /usr/bin/javac javac /opt/java/jdk1.8.0_25/bin/javac 100 
  17.  
  18. RUN update-alternatives --install /usr/bin/java java /opt/java/jdk1.8.0_25/bin/java 100 
  19.  
  20. RUN update-alternatives --display java 
  21.  
  22. RUN java -version 
  23. Expose the ports we're interested in 
  24. EXPOSE 8080 9990 
  25. Set the default command to run on boot 
  26. This will boot WildFly in the standalone mode and bind to all interface 
  27. CMD ["/opt/wildfly/bin/standalone.sh""-c""standalone-full.xml""-b""0.0.0.0"

鏡像繼承自Ubuntu——一個安裝了Ubuntu操作系統的鏡像。Docker安裝教程中就安裝了Ubuntu鏡像。

接著,我們將服務器復制到容器的/opt/wildfly目錄。COPY是Dockerfile的一個指令。我們可以在這里找到所有命令。

我們隨后將應用的war包復制到服務器中:

  1. COPY car-service.war /opt/wildfly/standalone/deployments/。 

然后,我們將Java解壓安裝到容器的/opt/java目錄并設置一些環境變量。***的辦法是使用apt-get,不過這要求有互聯網接入,而我寫作時不具備這個條件。我使用RUN命令來執行java -version,(如果Java正確安裝的話)它將在鏡像構建時打印版本號。

之后,我使用EXPOSE 8080 9990來告訴Docker容器要暴露的端口號。容器其實是鏡像的實例,運行鏡像(docker run)時,我們可以指定允許宿主訪問的端口。

***,我們指定了默認命令:CMD ["/opt/wildfly/bin/standalone.sh", "-c", "standalone-full.xml", "-b", "0.0.0.0"]。每次容器啟動時都會運行這個命令。

構建鏡像

在描述完鏡像之后,我們需要構建它。在包含Dockerfile的父目錄運行以下命令:

  1. docker -H tcp://127.0.0.1:2375 build -t javaee_sample java_ee/ 
  • -H參數指定了Docker后臺地址(使用TCP與后臺通訊);
  • build是命令本身;
  • -t指定了用于識別鏡像的標簽名稱(這里是javaee_sample);
  • java_ee/是包含用于描述鏡像的Dockerfile的目錄。

上述命令的輸出如下:

然后我們可以通過列出鏡像命令(譯者注:docker images命令)來確認剛創建的鏡像:docker -H tcp://127.0.0.1:2375 images:

啟動容器

使用這一命令啟動容器:

  1. docker -H tcp://127.0.0.1:2375 run -p 8180:8080 javaee_sample 
  • -p指定容器端口到主機端口的映射;
  • run是命令本身;
  • javaee_sample是鏡像名。

容器啟動過程中會輸出Wildfly啟動日志,這是因為我們將其設置為初始命令(CMD Dockerfile命令):

運行多個容器

我們可以實例化多個容器,因為它們的端口在宿主上不會發生沖突。我將再啟動兩個容器并將8080端口分別暴露為8280和8380:

  1. docker -H tcp://127.0.0.1:2375 run -p 8280:8080 javaee_sample 
  2. docker -H tcp://127.0.0.1:2375 run -p 8380:8080 javaee_sample 

要列出啟動的容器,我們可以使用命令:docker -H tcp://127.0.0.1:2375 ps,這是輸出結果:

  1. rmpestano@rmpestano-ubuntu:~/docker /images$ docker -H tcp://127.0.0.1:2375 ps 
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
  3. 7b9079806e69 javaee_sample:latest "/opt/wildfly/bin/st 27 seconds ago Up 27 seconds 9990/tcp, 0.0.0.0:8280->8080/tcp suspicious_lovelace 
  4. d4975e825751 javaee_sample:latest "/opt/wildfly/bin/st 28 seconds ago Up 28 seconds 9990/tcp, 0.0.0.0:8380->8080/tcp loving_hopper 
  5. 96e58eb65126 javaee_sample:latest "/opt/wildfly/bin/st 42 seconds ago Up 42 seconds 9990/tcp, 0.0.0.0:8180->8080/tcp clever_cori 

現在我們可以在瀏覽器中同時訪問這三個應用:

你可以通過容器的ID或名字來停止容器:

  1. docker -H tcp://127.0.0.1:2375 stop suspicious_lovelace 

記住,在容器刪除時所有數據將消失。請使用Docker卷來持久化數據。

原文鏈接:http://dockerone.com/article/146

責任編輯:Ophira 來源: dockerone
相關推薦

2019-11-07 14:00:36

MySQL數據庫SQL

2014-11-25 14:04:59

DockerDocker Nodeweb應用部署

2017-08-17 16:37:59

MySQL數據遷移

2021-08-10 07:41:24

JavaDocker鏡像

2014-05-26 09:13:46

DockerPython

2024-09-09 17:06:32

2015-01-04 13:56:44

DockerPostgreSQL

2020-10-11 20:54:39

Python開發Docker

2017-05-16 09:55:28

Android調試debug

2011-03-15 19:45:27

Windows Azu

2014-12-17 09:40:22

dockerLinuxPaaS

2024-08-20 21:27:04

docker部署容器

2015-05-08 10:39:10

InfoQ

2015-05-08 12:47:58

Docker

2018-02-08 18:00:49

Spark文件測試

2011-03-24 09:34:41

SPRING

2021-02-21 09:33:19

Docker容器安全 應用程序

2022-10-21 14:21:46

JavaScript筆記技能

2011-06-27 13:17:07

Java EE

2024-05-29 12:39:55

點贊
收藏

51CTO技術棧公眾號

精品香蕉一区二区三区| 黄色网络在线观看| 国产91精品对白在线播放| 一本一本久久a久久精品牛牛影视 一本色道久久综合亚洲精品小说 一本色道久久综合狠狠躁篇怎么玩 | 国产农村妇女精品一区二区| 久久国产精品久久| 男女视频在线| 欧美区在线观看| 日日av拍夜夜添久久免费| 欧美激情国产高清| 午夜欧美精品| 欧美狂野激情性xxxx在线观| 国产精品乱码久久久久久| 黄色视屏网站在线免费观看| 曰本色欧美视频在线| 亚洲国产合集| 亚洲电影一二三区| 国产精品第四页| 美女扒开腿让男人桶爽久久软| 欧美福利视频在线| 91久久在线| aaaaaa亚洲| 精品国产制服丝袜高跟| 日韩欧美一级| 日本精品一区二区三区视频| 欧美国产在线观看| 91www在线| 成人免费淫片aa视频免费| 国产专区综合网| 91在线直播| 奇米四色中文综合久久| 国产综合色视频| 思思99re6国产在线播放| 国模视频一区二区三区| 国产在线不卡一卡二卡三卡四卡| 男女视频在线观看| 国产成人精品久久亚洲高清不卡| www.爱久久.com| 羞羞视频在线观看不卡| 成人在线免费观看视视频| 蜜桃在线一区| 337p粉嫩大胆噜噜噜鲁| 亚洲国产精品电影在线观看| 国产精品二区影院| 91欧美在线视频| 久久久综合亚洲91久久98| 欧美性猛交xxxx乱大交退制版| 亚洲最好看的视频| 一级网站免费观看| 国产欧美va欧美va香蕉在线| 亚洲午夜在线观看视频在线| 四虎影视精品| 黄色春季福利在线看| 69**夜色精品国产69乱| 中文字幕免费不卡| 一区二区三区在线免费看| 少妇一级淫免费播放| 久久亚洲电影天堂| 亚洲精品va在线观看| 中文字幕一区二区三区在线视频 | 欧美精三区欧美精三区| 夜夜爽av福利精品导航| h片在线观看视频免费| 国产专区在线视频| 中文字幕免费精品一区高清| proumb性欧美在线观看| 伊人久久大香线蕉av不卡| 国产黄色在线播放| 男女啪啪的视频| 欧美激情二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 一本一本久久| 久久久精品一区二区毛片免费看| 激情五月俺来也| 久久精品ww人人做人人爽| 日韩电影在线观看永久视频免费网站| 26uuu国产在线精品一区二区| 欧美**字幕| 中文在线аv在线| 好男人社区在线视频| 亚洲高清视频一区| 亚洲视频免费在线观看| 日韩黄色免费网站| 波多野结衣在线一区二区| aaa大片在线观看| 亚洲色图16p| 欧美精品第三页| 亚洲高清视频一区二区| 国产成人一区二区三区小说| 日韩理论片久久| 欧美香蕉大胸在线视频观看| 中文无字幕一区二区三区 | 精品电影一区二区三区| 欧美日韩二区三区| 精品国产成人系列| 久青草国产97香蕉在线视频| 欧美亚州一区二区三区| 亚洲精品日韩激情在线电影| 免费成人在线观看av| 欧美乱做爰xxxⅹ久久久| 依依成人在线| 波多野结衣在线中文| 成人在线小说| 午夜视频在线| 欧美日韩精品免费观看视欧美高清免费大片| 成人影院在线播放| 经典三级一区二区| 亚洲福利天堂| 肉色丝袜一区二区| 国产视频一区在线观看| 91色婷婷久久久久合中文| 天天操夜夜操国产精品| 欧美日韩岛国| 韩国精品久久久| 中文字幕一区二区三中文字幕| 国产欧美日韩一区二区三区在线观看| 久久久久国产精品人| 国产精品不卡视频| 亚洲成a人v欧美综合天堂下载| 亚洲成a人片综合在线| 欧美视频在线播放| 国产丝袜高跟一区| 欧美黑人巨大精品一区二区| 国产精品第3页| 亚洲视频在线一区| 久久草在线视频| 福利一区二区三区视频在线观看| 伊人久久在线| 久久1电影院| 久久最新视频| 狠狠爱在线视频一区| 久久中文久久字幕| 久久久久久久久91| 国产91精品久久久久| 国产xxx69麻豆国语对白| 欧美一级电影久久| 九九九九精品| 99在线精品免费视频| aaa一级毛片| av在线免费观看网| 草莓视频成人appios| 你微笑时很美电视剧整集高清不卡| 久久网站免费观看| 蜜臀av性久久久久av蜜臀妖精 | 色一情一乱一乱一91av| 制服视频三区第一页精品| 永久免费毛片在线播放不卡| 国产区亚洲区欧美区| 欧美美女黄色网| 香蕉视频免费在线| 欧美激情三区| 国产综合婷婷| 久久中文娱乐网| 欧美成人伊人久久综合网| 97涩涩爰在线观看亚洲| 中文字幕精品—区二区日日骚| 免费h片在线观看| 精品欧美一区二区三区在线观看| 国产高清欧美| 国产精品毛片久久久久久久| 日韩精品在线视频观看| 亚洲一区二区三区xxx视频| 国产一区二区三区精彩视频 | 岛国av一区二区| 精品国产依人香蕉在线精品| 欧美成人第一区| 高清免费观看在线| aiai久久| 日本一区二区三区在线不卡| 日韩va亚洲va欧洲va国产| 精品国产_亚洲人成在线| 国产一级在线| 日韩电影一区| 亚洲成av人片一区二区梦乃 | 亚洲经典三级| 色综合久久久网| 国产精品扒开腿爽爽爽视频 | 欧美午夜一区二区三区| 国产精品久久久久99| 日韩一区二区三区久久| 91破解版在线观看| 久久精品天堂| 亚洲爱爱爱爱爱| 九九九九九九精品| 俺来俺也去www色在线观看| 日欧美一区二区| 疯狂做受xxxx高潮欧美日本| 欧美一级片免费在线| 国产97色在线 | 日韩| 成人国产一区二区三区精品麻豆| 另类小说视频一区二区| 精品三级在线看| 日韩av在线综合| 欧洲专线二区三区| 欧美丝袜丝交足nylons| 欧美黄色免费网址| 欧美午夜精彩| 精品捆绑美女sm三区| 成人黄动漫网站| 日本欧美大码aⅴ在线播放|