docker部署tomcat應用

docker - 從安裝到部署一個web應用(go、java)
原創 2016年05月11日 13:39:13 標籤:docker 15017
說明:
1.權限是root,不是則先提升權限

一:安裝docker

1.https://docs.docker.com/engine/installation/binaries/
下載docker最新版二進制tar.gz

linux下:
wget https://get.docker.com/builds/Darwin/x86_64/docker-1.11.0.tgz

2.丟到 $path中

mv docker /usr/local/sbin

3.啓動

docker daemon &

二.在容器上運行tomcat

docker官方鏡像倉庫由於有牆,所以下載的很慢。目前我用的是時速雲的鏡像。

第一步:拉取鏡像到本地
docker pull index.tenxcloud.com/tenxcloud/tomcat

第二步:爲鏡像添加一個別名
docker tag index.tenxcloud.com/tenxcloud/tomcat tomcat-1

第二步:啓動tomcat
docker run -p 5000:8080 --name container1 tomcat-1
如此一來,tomcat就啓動了,-p 5000:8080的意思是把容器tomcat的8080端口隱射到宿主機的端口上,這樣外網訪問5000就能訪問到我們的container1的8080 tomcat上面了.

如此一來,一個簡單的tomcat就跑起來了.

此處容器container1 和 鏡像tomcat-1,我的理解是鏡像就是一個模板,container1就是根據這個模板創造的一個真正的盆子,這個盆子裏面就跑着我們的tomcat. 所以我們可以用同一個鏡像創建許多container。

三.在tomcat上面部署我們的應用

接下來我們要部署我們的應用上去,思路是進入到container1裏面去,此時可以把container1想象爲一個新的機器,我們只需要到tomcat的webapp丟war,然後重啓就行了.

1.進入容器內部

docker exec -it container2 /bin/bash

2.查看tomcat webapp路徑

/tomcat/webapps

3.傳war

把war丟到宿主機 在丟到container裏面丟到tomcat/webapps

docker cp DemoOne.war container2:tomcat/webapps

太TM驚喜了,docker本身就支持啊!!!666666.

4.重啓容器

不需要了。。。docker自動幫你部署了
這裏寫圖片描述

5.訪問應用

這裏寫圖片描述

至此,一個完整的docker部署tomcat及上線一個java web應用流程就走通了.
說實話,走通後才發現是這麼的簡單。之前概念上面不懂的地方這下也基本通了。
不得不說很Nice,和預想中的完全一樣,就把dokcer給你創建的container當成一個新的linux用就行啦!

使用docker部署一套應用系統

接下來部署一套完整的系統,包括如下組件:
負載均衡:Haproxy
JAVA工:tomcat
緩存:Redis Master、Slave

流程是Java開一個restful接口,爲redis寫入一個數據,
再開一個restful接口,從redis讀取一個數據。

系統結構如圖:
這裏寫圖片描述

步驟:
1.準備java工程,並打包成war
2.拉取haproxy鏡像,並運行

//注意 --name不能放在最後,6555:80 80不可更改,是haproxy本身的端口
docker run -d -p 6555:80 --link container2:container2 --name haproxy-1 haproxy
1
2
這裏寫圖片描述
可以看到,haproxy已經成功實現了代理的功能.
目前的鏡像不知道爲什麼不能通過修改haproxy.cfg的方式來支持,後續研究

之後再補上golang鏡像及應用部署的流程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章