0、內核必須大於3.10.8 centos7的系統就可以,如果是centos6.X必須升級內核纔可以安裝,yum install -y docker-* docker
1、下載jdk和tomcat源碼安裝
2、docker cp容器名:要拷貝的文件在容器裏面的路徑 宿主機的相應路徑
docker cp要拷貝的文件路徑 容器名:容器裏面對應的路徑
3、把源碼安裝包拷到運行的容器裏面進行安裝配置
4、編寫運行腳本
編寫一個運行腳本,當啓動容器時,運行該腳本,啓動 Tomcat。
創建腳本:
# touch /root/run.sh
# vi /root/run.sh
然後,編輯腳本內容如下:
#!/bin/bash
export JAVA_HOME=/opt/jdk/
export PATH=$JAVA_HOME/bin:$PATH
sh /opt/tomcat/bin/startup.sh
sh /root/tail.sh
創建tail.sh腳本爲了防止docker判斷自己無事可幹自殺
然後,編輯腳本內容如下:
# touch /root/tail.sh
# vi /root/tail.sh
#!/bin/bash
tail -f /opt/tomcat/logs/catalina.out
最後,爲運行腳本添加執行權限:
# chmod u+x /root/run.sh
# chmod u+x /root/tail.sh
5、退出容器 exit
此時,應該看不到任何正在運行的程序,因爲剛纔已經使用exit命令退出的容器,此時容器處於停止狀態,可使用如下命令查看所有容器:
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS
03bebc3f546a 83ee "/bin/bash" 13 minutes ago Exited (0) 7 seconds ago
記住以上CONTAINER ID(容器 ID),隨後將通過該容器,創建一個可運行Tomcat鏡像。
6、創建Tomcat鏡像
使用以下命令,根據某個“容器 ID”來創建一個新的“鏡像”:
# docker commit 03bebc3f546a www:1
78c88ec597e04812ec3b06b7749578bebcae3aa3d735b565ed25db6818d9d7f3
# docker images 可以看到剛剛創建的tomcat鏡像
7、啓動Tomcat容器
首先,新建/root/webapps/ROOT目錄,並在該目錄下創建一個index.html文件,文件內容如下:
<html>
<body>
<h2>hahahh!</h2>
</body>
</html>
正如上面所描述的那樣,可以通過“鏡像名”或“鏡像 ID”來啓動容器,與上次啓動容器不同的是,現在不再進入容器的命令行,而是直接啓動容器內部的 Tomcat 服務。此時,需要使用以下命令:
# docker run -d -p 58080:8080 -v /root/webapps/:/opt/tomcat/webapps/ --name ggg1 www:1 sh/root/run.sh
8、其中,相關參數包括:
-d:表示以“守護模式”執行/root/run.sh腳本,此時 Tomcat 控制檯不會出現在輸出終端上。
-p:表示宿主機與容器的端口映射,此時將容器內部的 8080 端口映射爲宿主機的 58080端口,這樣就向外界暴露了 58080端口,可通過 Docker網橋來訪問容器內部的 8080端口了。
-v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>
--name:表示容器名稱,用一個有意義的名稱命名即可。
9、在瀏覽器中,輸入宿主IP和端口號,即可訪問Tomcat
10、停止Tomcat容器
#docker ps
docker stop 容器名字或者容器ID
11、移除容器
# docker ps -a
docker rm容器id
12、移除鏡像
# docker images
dockerrmi IMAGE ID
13、進入後臺運行的docker命令如下:
docker exec -it 容器名字/bin/bash或者 docker exec -it容器id/bin/bash