1. 程式人生 > >docker部署javaweb環境

docker部署javaweb環境

linux系統:centos7.3

docker安裝參考 

https://www.cnblogs.com/yufeng218/p/8370670.html

http://www.runoob.com/docker/centos-docker-install.html

下面地址為 linux版本jdk1.8和tomcat8

連結:https://pan.baidu.com/s/18NV-I0_QEWQ4i1Dimvg62w 
提取碼:0x9u 
安裝rz上傳軟體包

rz參考 https://blog.csdn.net/fireblue1990/article/details/74147190

1、下載CENTOS的docker映象

映象下載地址DaoCloud

[[email protected] downloads]# docker pull centos
略

下載完成後,檢視已下載的映象如下:即centos

2、進入映象centos進行相關操作

我的軟體包路徑地址

(1)啟動並將宿主機目錄/home/掛載到容器中的目錄/home/jun下
 

docker run -i -t -v /home/:/home/jun centos /bin/bash
//其中:
      -i 表示以"互動模式"執行容器
      -t 表示容器啟動後會進入其命令列
      -v 表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機絕對目錄>:<容器絕對目錄>
      89796a 即2中新容器的ID,也可以用"容器名:TAG"唯一即可
      /bin/bash 即進入容器後的bash shell命令列對應-t

(2)在容器中安裝jdk和tomcat

 

[[email protected] jun]#  mkdir -p /opt/tomcat/
//建立tomcat目錄
[[email protected] jun]# mkdir -p /opt/jdk/
//建立jdk目錄
[[email protected] jun]# tar -zxf apache-tomcat-8.0.53.tar.gz
//解壓
[[email protected] jun]# tar -zxf jdk-8u191-linux-x64.tar.gz
//解壓
[[email protected]
jun]# ls apache-tomcat-8.0.53 apache-tomcat-8.0.53-deployer.tar.gz apache-tomcat-8.0.53.tar.gz jdk-8u191-linux-x64.tar.gz jdk1.8.0_191 [[email protected] jun]# mv apache-tomcat-8.0.53/ /opt/tomcat/ //移動 [[email protected] tomcat]# mv jdk1.8.0_191/ /opt/jdk/ //移動

(3)配置容器啟動環境變數

設定容器啟動時載入的環境變數

1、設定環境變數

首先,編輯.bashrc檔案

vi ~/.bashrc

然後,在該檔案末尾新增如下配置:

 

export JAVA_HOME=/opt/jdk/jdk1.8.0_191
export JRE_HOME=/opt/jdk/jdk1.8.0_191/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

 

最後,需要使用source命令,讓環境變數生效:

source ~/.bashrc  

2、編寫執行指令碼
我們需要編寫一個執行指令碼,當啟動容器時,執行該指令碼,啟動 Tomcat,具體過程如下:
首先,建立執行指令碼:

vi /root/run.sh  

然後,編輯指令碼內容如下:

#!/bin/bash  
source ~/.bashrc  
sh /opt/tomcat/apache-tomcat-8.0.53/bin/catalina.sh run  

注意:這裡必須先載入環境變數,然後使用 Tomcat 的執行指令碼來啟動 Tomcat 服務。
最後,為執行指令碼新增執行許可權:

chmod u+x /root/run.sh 

退出容器

當以上步驟全部完成後,可使用exit或ctrl+d命令,退出容器。
隨後,可使用如下命令檢視正在執行的容器:
docker ps
此時,您應該看不到任何正在執行的程式,因為剛才已經使用exit命令退出的容器,此時容器處於停止狀態,可使用如下命令檢視所有容器:
docker ps -a

3.建立映象並啟動

建立映象

docker commit 7jkj9899749e  jun_javaweb:1.1  

該容器的 ID 是“7jkj9899749e”,所建立的映象名是“jun_javaweb:1.1”,隨後可使用映象來啟動 Java Web 容器。

啟動

docker run -d -p 8080:8080 --name javaweb jun_javaweb:1.1/root/run.sh  
-d:表示以“守護模式”執行/root/run.sh指令碼,此時 Tomcat 控制檯不會出現在輸出終端上。  
-p:表示宿主機與容器的埠對映,此時將容器內部的 8080 埠對映為宿主機的 8080 埠,這樣就向外界暴露了 8080 埠,可通過 Docker 網橋來訪問容器內部的 8080 埠了。  
--name:表示容器名稱,用一個有意義的名稱命名即可。

檢視啟動的容器

Docker 容器映象刪除

1.停止所有的container,這樣才能夠刪除其中的images:

docker stop $(docker ps -a -q)

如果想要刪除所有container的話再加一個指令:

docker rm $(docker ps -a -q)

2.檢視當前有些什麼images

docker images

3.刪除images,通過image的id來指定刪除誰

docker rmi <image id>

想要刪除untagged images,也就是那些id為<None>的image的話可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要刪除全部image的話

docker rmi $(docker images -q)