centos7下docker 部署javaweb


LXC

linux container

百度百科:http://baike.baidu.com/link?url=w_Xy56MN9infb0hfYObib4PlXm-PW02hzTlCLLb1W2dbdQr4AJcrWuxoe9ng9SxYgORKeAQSk0TJOXEL8BnEqK 

docker在linux內核容器的基礎上提供了更高層的控制工具。

跨主機部署:通過鏡像將應用程序和所依賴的文件打包到同一個鏡像文件中。

以應用為中心:dockerfile機制大大簡化和規范了應用的部署方法。

自動構建:從源碼自動構建成鏡像。

版本管理:鏡像版本管理。

組件重用:任何鏡像都可以是基礎鏡像。

共享:公共鏡像,docker registry,docker hub。

工具生態鏈。

虛擬機

虛擬機是對硬件資源進行划分。

hypervisor 

百度百科:http://baike.baidu.com/link?url=32LeXPssolv90-9E2jNHJfSY86zRCTqm6dKcn1ERZfQghBkRTTj84jM-EyvT56RTEvAeCZ9RGgJifa-s0gRY0q 

 

虛擬機獨占資源,docker 不同容器之前可以共享部分操作系統資源。 

 

容器

容器=cgroup+namespace+rootfs+容器引擎。 

NameSpace:命名空間,主要做訪問隔離。(linux內核6中namespace)

Cgroup:control group,控制組,主要做資源控制。 (控制進程對系統資源的試用,包括cpu,內存,block I/O,網絡帶寬)

rootfs:文件系統隔離。rootfs=Root Fils System 所謂的rootfs,根文件系統,就是那些,能讓操作系統正常運行的,文件夾和文件的大集合

容器引擎:生命周期控制。

 

鏡像 

docker image 是用來啟動容器的只讀模板,是容器啟動所需的rootfs。

remote-dockerhub.com/namespace/bar:latest

 

下載jdk和tomcat 

下載jdk:http://pan.baidu.com/s/1o8pM5vW

下載tomcat:http://pan.baidu.com/s/1o8pM5vW

 

 

安裝jdk

yum -y install jdk-7u79-linux-x64.rpm 

 

 

 

查找jdk rpm包安裝路徑

 

# rpm -qa

# rpm -ql  rpm -ql jdk-1.7.0_79-fcs.x86_64

可以看到是安裝在 /usr/java 下 

  

 

安裝zip uzip

# yum install zip unzip 

 

安裝 tomcat

unzip   apache-tomcat-7.0.70.zip -d /usr

 

 

  

mv apache-tomcat-7.0.70.zip tomcat  

 

 

中途退了出來,重新生成一下鏡像

docker ps -a

docker commit 68 zuimao-centos

 

注意,再啟動鏡像就是新生成的鏡像了

docker run -i -t -v /mnt/soft/:/mnt/soft c9 /bin/bash 

可以看到剛才安裝的 tomcat 和java 都在。

 

配置java和tomcat環境變量

vi /etc/profile 

加入以下代碼 

#set java
export JAVA_HOME=/data/jdk 
export JRE_HOME=$JAVA_HOME/jre 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

export PATH=$JAVA_HOME/bin:$PATH

#set tomcat 

export CATALINA_HOME=/data/tomcat  
export CATALINA_BASE=/data/tomcat 

 

退出vi后,讓設置立即生效

source /etc/profile

 

容器啟動時啟動tomcat

vi  /root/run.sh

加入以下代碼 

 

#!/bin/sh

source /etc/profile
# Start tomcat
bash /usr/tomcat/bin/catalina.sh run

 

退出vi后,為運行腳本添加執行權限

chmod u+x /root/run.sh

 

 

退出當前容器后,重新生成鏡像

 

exit

docker ps -a

docker commit c9b270c008fa zuimao-centos

 

啟動容器內部的 Tomcat 服務 

 

 

不再進入容器的命令行,而是直接啟動容器內部的 Tomcat 服務

 

docker run -d -p 18080:8080  --name javaweb zuimao-centos /root/run.sh
 

 

 中途可能會報錯,大多數錯誤是文件夾的位置找不到,新建一個/data目錄,把apache和tomcat文件拷進去

確認是否啟動成功

 docker ps

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM