下載製作鏡像的系統
root@ubuntu:/home/hui# docker pull ubuntu
下載完成後,本地多了一個ubuntu系統鏡像如下:
root@ubuntu:/home/hui# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ea4c82dcd15a 4 weeks ago 85.8MB
...
啓動容器並修改鏡像
創建啓動容器ubuntu:latest,並將本地目錄掛載到容器中
docker run -i -t -v /data/software/:/data/software ubuntu:latest /bin/bash
參數說明:
-i:表示以“交互模式”運行容器
-t:表示容器啓動後會進入其命令行
-v:表示需要將本地哪個目錄掛載到容器中
在容器中安裝JDK,Tomcat
參考:https://www.kancloud.cn/guanfuchang/docker/844093
- 將安裝介質上傳到宿主主機目錄/data/software 中,然後進入容器
安裝介質JDK鏈接:https://pan.baidu.com/s/1nXiJ18HUBbnPC3IdMNi46g 密碼:2phd
安裝介質Tomcat鏈接:https://pan.baidu.com/s/1GVJria7QjzvwSCZHBFdloQ 密碼:q3c0
啓動容器,然後進入容器(進入容器前,需先將容器運行起來)
root@ubuntu:/data/software# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ddeb33467e9e ubuntu:latest "/bin/bash" 2 hours ago Exited (127) 24 minutes ago xenodochial_keller
root@ubuntu:/data/software#
root@ubuntu:/data/software# docker start ddeb33467e9e
ddeb33467e9e
root@ubuntu:/data/software# docker attach ddeb33467e9e
root@ddeb33467e9e:/#
查看/data/software中是否已經同步了安裝介質。
root@ddeb33467e9e:/# cd /data/software/
root@ddeb33467e9e:/data/software# ls
apache-tomcat-9.0.13.tar.gz jdk-8u191-linux-x64.tar.gz
- 將JDK和Tomcat 安裝到/data 目錄下
root@ddeb33467e9e:/data/software# tar -zxvf jdk-8u191-linux-x64.tar.gz -C /data/
root@ddeb33467e9e:/data/software# tar -zxvf apache-tomcat-9.0.13.tar.gz -C /data/
root@ddeb33467e9e:/data/software#
root@ddeb33467e9e:/data/software# cd ..
root@ddeb33467e9e:/data# mv jdk1.8.0_191 jdk
root@ddeb33467e9e:/data# mv apache-tomcat-9.0.13 tomcat
root@ddeb33467e9e:/data# ls
jdk software tomcat
- 修改環境變量,將下面的配置添加到 /etc/profile 的最後面
#set java environment
export JAVA_HOME=/data/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:{JRE_HOME}/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CATALINA_HOME=/data/tomcat
export CATALINA_BASE=/data/tomcat
容器內如果vim命令無法使用,需先安裝,安裝如下:
root@ddeb33467e9e:/data# apt update
root@ddeb33467e9e:/data# apt install vim
修改後,使配置立即生效
root@ddeb33467e9e:/data# source /etc/profile
檢查java配置是否生效
root@ddeb33467e9e:/# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
編寫啓動腳本
root@ddeb33467e9e:/# vim /data/start.sh
腳本如下:
#!/bin/bash
# Export environment variable
source /etc/profile
# Start tomcat
bash /data/tomcat/bin/catalina.sh run
授權啓動腳本
root@ddeb33467e9e:/# chmod u+x /data/start.sh
製作鏡像
查看容器,獲取容器ID
root@ubuntu:/data/software# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ddeb33467e9e ubuntu:latest "/bin/bash" About an hour ago Exited (127) 6 seconds ago xenodochial_keller
製作鏡像
root@ubuntu:/data/software# docker commit ddeb33467e9e mt/mytomcatdemo:1.0
查看鏡像是否已經安裝成功
root@ubuntu:/data/software# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mt/mytomcatdemo 1.0 a65637693626 41 seconds ago 580MB
創建並運行容器,指定宿主端口18080
root@ubuntu:/data/software# docker run -d -p 18080:8080 --name tomcatdemo mt/mytomcatdemo:1.0 /data/start.sh
96f03a0e009e706b213583a1408153f8c26314a1d6776204f9b1a6798ed313a7
查看容器是否已經在運行
root@ubuntu:/data/software# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96f03a0e009e mt/mytomcatdemo:1.0 "/data/start.sh" 10 seconds ago Up 10 seconds 0.0.0.0:18080->8080/tcp tomcatdemo
訪問宿主ip:端口,如:http://192.168.147.128:18080/ 訪問如下即說明鏡像製作成功,成功運行。