近段時間接觸docker,嘗試着将javaweb項目做成一個docker鏡像,下面具體說明生成步驟,如有不足,希望能在後續的學習中查漏補缺。
一 前提
關于docker環境的搭建這裡不再贅述,網上也有很多教程,值的一提的是centos7版本,Docker 軟體包已經包括在預設的 CentOS-Extras 軟體源裡,可以直接yum安裝
二 總體思路
拉取centos基礎鏡像->生成容器->在容器中搭建java環境->安裝tomcat
->将web項目打成war包->将war包放到tomcat的webapps下面->啟動tomcat服務->測試是否能夠通路->将容器做成鏡像
三 詳細操作
1,拉取centos基礎鏡像
2,檢視鏡像
3,在本地準備好tomcat和jdk安裝包
#cd /root/software/
#wget http://zhibo100.oss-cn-hangzhou.aliyuncs.com/software/jdk-7u79-linux-x64.tar.gz
#wget http://zhibo100.oss-cn-hangzhou.aliyuncs.com/software/apache-tomcat-7.0.59.tar.gz
(本次安裝基于tomcat 7.0 和jdk1.7)
4,用鏡像啟一個容器
通過指令檢視鏡像名
通過鏡像名(有版本号時需要加上版本号喲)啟容器
額外的,這裡插入說明一些容器的常見操作
檢視正在運作的容器
# docker ps
檢視所有容器
# docker ps -a
進入容器方式
# docker exec -it 容器ID /bin/bash
進入容器方式
# docker attach 容器ID
停止容器
# docker stop 容器ID
開始容器
# docker start 容器ID
删除容器
# docker rm 容器ID (删除前要先停止)
5,退出容器
6,将第3步準備好的包拷貝到容器中
7,進入容器
8,進入到/mnt/software/下解壓jdk和tomcat并将其移動到/opt/目錄下
# cd /mnt/software/
# tar -zxvf jdk-7u79-linux-x64.tar.gz
# tar -zxvf apache-tomcat-7.0.59.tar.gz
# mv jdk1.7.0_79/ /opt/jdk
# mv apache-tomcat-7.0.59 /opt/tomcat
9,配置JAVA環境變量并檢測
# vi ~/.bashrc
在檔案末尾加上
export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
儲存退出
# source ~/.bashrc
# java -version
10,編寫系統啟動腳本并賦予權限
# vi /root/run.sh
加入以下代碼
#!/bin/bash
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run
# chmod u+x /root/run.sh
11,将我們的web項目打成war包,并cp進容器,并且将tomcat的
webapps目錄下的東西删除掉,将war包放進去
12,退出容器
13,根據目前的容器ID建立新的鏡像
# docker ps -a
# docker commit 容器ID 新生成的鏡像名:鏡像版本号
# docker images
14,以守護程序方式啟動新的鏡像并傳入啟動參數
15,檢視web項目頁面
http://127.0.0.1:58080/war包名