docker掛載centos鏡像安裝jdk+tomcat開發(fā)環(huán)境。本文的中方法經(jīng)過了大半天的整理,并且在幾臺服務器中通過了測試,請放心使用。
原文地址:代碼匯個人博客 http://www.codehui.net/info/62.html
安裝centos
docker pull centos
- 查看鏡像
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest 1e1148e4cc2c 2 months ago 202 MB
[root@localhost /]#
可以看到centos還是很輕巧,只有202MB,不像虛擬機那樣大。
- 啟動
centos容器
使用如下命令啟動容器
docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 1e1148e4cc2c /bin/bash
[root@localhost /]# docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 1e1148e4cc2c /bin/bash
[root@6316d53d801f /]#
-i:表示以“交互模式”運行容器
-t:表示容器啟動后會進入其命令行
-v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>
--privileged=true 使用該參數(shù),container內(nèi)的root擁有真正的root權限。
安裝jdk
這里通過yum方式安裝,當然也可以下載二進制文件安裝
#查看yum庫中的java
yum -y list java*
#裝需要的jdk版本的所有java程序
yum -y install java-1.8.0-openjdk*
安裝完成查看java版本
[root@d6ff5de0fba5 /]# java -version
openjdk version "1.8.0_191"
查看java安裝地址 (可通過yum install which安裝which)
[root@d6ff5de0fba5 bin]# which java
/usr/bin/java
配置環(huán)境變量
#打開環(huán)境變量配置文件
vi /etc/profile
#增加下面內(nèi)容到該文件
export JAVA_HOME=/usr/bin/java #這里是java的安裝地址
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#使環(huán)境生效
source /etc/profile
安裝tomcat
yum install wget
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.92/bin/apache-tomcat-7.0.92.tar.gz
tar zxvf apache-tomcat-7.0.92.tar.gz
# 添加JAVA_HOME和JRE_HOME兩個環(huán)境變量
vi /mnt/software/apache-tomcat-7.0.92/bin/catalina.sh
# 增加下面內(nèi)容到該文件
export JAVA_HOME=/usr
export JRE_HOME=/usr
#創(chuàng)建啟動腳本
vi /root/run.sh
# 添加以下內(nèi)容:
#!/bin/bash
# Export environment variable
source /etc/profile
# Start tomcat
sh /mnt/software/apache-tomcat-7.0.92/bin/catalina.sh run
#添加可執(zhí)行權限:
chmod u+x /root/run.sh
構建鏡像
構建完鏡像可選擇鏡像上傳至Docker Hub, 參考方法《docker中鏡像的提交和上傳》
鏡像打包,參考方法 《docker鏡像和容器的導出導入》
[root@localhost ~]# docker commit d6ff5de0fba5 mycentos:v1
sha256:fce3f9e8d88294ca110bb0ef327926576f664ea9d3d8db09c07be93c9f4f2e16
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mycentos v1 fce3f9e8d882 15 seconds ago 813 MB
docker.io/centos latest 1e1148e4cc2c 2 months ago 202 MB
啟動鏡像,端口映射值80端口,其他端口也可以,執(zhí)行/root/run.sh啟動腳本。
[root@localhost ~]# docker run -d -p 80:8080 --name javaweb -v /root/software/:/mnt/software/ fce3f9e8d882 /root/run.sh
02c0914bd20f916ac10de2e52e1a017552621a76ad9f9a03931439c542a3a460
瀏覽器訪問 宿主機ip:80

代碼匯
# 進入鏡像
docker exec -it javaweb bash
# 測試文件
vi /mnt/software/apache-tomcat-7.0.92/webapps/demo.jsp
#寫入一下內(nèi)容
<%
String str = "Hello World";
out.print(str);
%>
訪問測試文件,宿主機ip:80/demo.jsp

代碼匯
下次直接通過docker start javaweb直接啟動鏡像就可以訪問了。