装载Docker镜像
[root@master_150 ~]# docker load -i centos.tar
启动容器
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
/bin/bash:一旦容器启动,需要执行的命令,当前使用 "/bin/bash", 表示启动后直接进bash shell
tips:这里挂载的意思就是 4cbf48630b46创建的容器访问 /mnt/software/ 目录下的文件就相当于访问 宿主机的 /data/software/下的文件,且两者文件夹里内容相同
上传文件
下载 tomcat和jdk的 tar包,通过ftp工具上传到宿主服务器的/data/software/文件下,因为前面做了挂载,所以待会进入docker容器里的/mnt/software/文件夹下也是可以看到的
放置jdk和tomcat
[root@master_150 ~]# tar -zxvf apache-tomcat-8.0.53.tar.gz
[root@master_150 ~]# tar -zxvf jdk-8u141-linux-x64.tar.gz
[root@master_150 ~]# mv apache-tomcat-8.0.53 /opt/tomcat
[root@master_150 ~]# mv jdk1.8.0_141/ /opt/jdk
设置java环境变量
[root@master_150 ~]# vi /etc/profile
JAVA_HOME=/opt/jdk/
JAVA_BIN=/opt/jdk/bin
JRE_HOME=/opt/jdk/jre
CLASSPATH=/opt/jdk/jre/lib:/opt/jdk/lib:/opt/jdk/jre/lib/charsets.jar
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH
[root@master_150 ~]# source /etc/profile
[root@master_150 ~]# 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
[root@master_150 ~]# java -version
编写启动脚本
[root@master_150 ~]# vi /root/run.sh
#!/bin/bash
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run
#设置启动权限
chmod u+x /root/run.sh
创建tomcat镜像
根据之前创建好的容器id 创建一个镜像
docker commit [容器id] mytomcat:1.0
[root@master_150 ~]# docker ps -a
[root@master_150 ~]# docker commit 8a1a63148629 mytomcat:1.0
[root@master_150 ~]# docker images
准备tomcat项目目录
首先在宿主服务器创建一个webapps文件夹用来存放项目,映射容器中tomcat的webapps,这里写个index.html,存放在宿主机的/root/webapps/test。
备注:不要把index.html 直接丢到webapps下,否则访问会 404,创建一个文件夹放index.html ,这里是test文件夹。
[root@master_150 ~]# mkdir /root/webapps/test
[root@master_150 ~]# cd /root/webapps/test
[root@master_150 ~]# vi index.html
写个hello
启动tomcat容器
[root@master_150 ~]# docker run -d -p 18080:8080 -v /root/webapps/:/opt/tomcat/webapps/ --name mytomcat_1 mytomcat:1.0 /root/run.sh
验证启动
http://192.168.1.195:18080/test/index.html