centos7下docker 部署javaweb
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
LXC
linux container
百度百科:http://baike.baidu.com/link?url=w_Xy56MN9infb0hfYObib4PlXm-PW02hzTlCLLb1W2dbdQr4AJcrWuxoe9ng9SxYgORKeAQSk0TJOXEL8BnEqK?
docker在linux內(nèi)核容器的基礎(chǔ)上提供了更高層的控制工具。
跨主機(jī)部署:通過鏡像將應(yīng)用程序和所依賴的文件打包到同一個(gè)鏡像文件中。
以應(yīng)用為中心:dockerfile機(jī)制大大簡化和規(guī)范了應(yīng)用的部署方法。
自動構(gòu)建:從源碼自動構(gòu)建成鏡像。
版本管理:鏡像版本管理。
組件重用:任何鏡像都可以是基礎(chǔ)鏡像。
共享:公共鏡像,docker registry,docker hub。
工具生態(tài)鏈。
虛擬機(jī)
虛擬機(jī)是對硬件資源進(jìn)行劃分。
hypervisor?
百度百科:http://baike.baidu.com/link?url=32LeXPssolv90-9E2jNHJfSY86zRCTqm6dKcn1ERZfQghBkRTTj84jM-EyvT56RTEvAeCZ9RGgJifa-s0gRY0q?
?
虛擬機(jī)獨(dú)占資源,docker 不同容器之前可以共享部分操作系統(tǒng)資源。?
?
容器
容器=cgroup+namespace+rootfs+容器引擎。?
NameSpace:命名空間,主要做訪問隔離。(linux內(nèi)核6中namespace)
Cgroup:control group,控制組,主要做資源控制。 (控制進(jìn)程對系統(tǒng)資源的試用,包括cpu,內(nèi)存,block I/O,網(wǎng)絡(luò)帶寬)
rootfs:文件系統(tǒng)隔離。rootfs=Root Fils System?所謂的rootfs,根文件系統(tǒng),就是那些,能讓操作系統(tǒng)正常運(yùn)行的,文件夾和文件的大集合
容器引擎:生命周期控制。
?
鏡像?
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環(huán)境變量
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后,讓設(shè)置立即生效
source /etc/profile
?
容器啟動時(shí)啟動tomcat
vi ?/root/run.sh
加入以下代碼?
#!/bin/sh
source /etc/profile # Start tomcat bash /usr/tomcat/bin/catalina.sh run?
退出vi后,為運(yùn)行腳本添加執(zhí)行權(quán)限
chmod u+x /root/run.sh?
?
退出當(dāng)前容器后,重新生成鏡像
?
exit
docker ps -a
docker commit c9b270c008fa zuimao-centos?
啟動容器內(nèi)部的 Tomcat 服務(wù)?
?
不再進(jìn)入容器的命令行,而是直接啟動容器內(nèi)部的 Tomcat 服務(wù)?
docker run -d -p 18080:8080 ?--name javaweb zuimao-centos /root/run.sh?
?中途可能會報(bào)錯(cuò),大多數(shù)錯(cuò)誤是文件夾的位置找不到,新建一個(gè)/data目錄,把a(bǔ)pache和tomcat文件拷進(jìn)去
確認(rèn)是否啟動成功
?docker ps
?
轉(zhuǎn)載于:https://my.oschina.net/mfeng/blog/755416
總結(jié)
以上是生活随笔為你收集整理的centos7下docker 部署javaweb的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hangry 饥饿成怒 2016-10-
- 下一篇: ifdown eth0 idup et