Docker学习(五)Linux中Docker安装Tomcat和JDK
安装Tomcat查找tomcat镜像,Docker 客户端向Docker 的守护进程发送该指令,然后Docker 的守护进程将会到Docker Hub中搜索对应的tomcat镜像,然后返回给Docker 客户端。docker search tomcat可以根据实际的需要,拉取上图中指定NAME的tomcat,本文中直接拉取最新的tomcat,执行如下指令docker pull tomcat执行如下
《Docker学习(二)在Windows10中安装Docker》
安装Tomcat
查找tomcat镜像,Docker 客户端向Docker 的守护进程发送该指令,然后Docker 的守护进程将会到Docker Hub中搜索对应的tomcat镜像,然后返回给Docker 客户端。
docker search tomcat
可以根据实际的需要,拉取上图中指定NAME的tomcat,本文中直接拉取最新的tomcat,执行如下指令
docker pull tomcat
执行如下指令,查看当前Linux安装的Docker中的镜像,发现镜像tomcat已经存在,其TAG为latest
docker images
创建并启动tomcat容器,给其指定容器名称为container_tomcat,指定端口为主机的8200与tomcat容器的8080端口关联,即将tomcat容器使用的8080端口映射到我们的Linux系统的8200端口。
docker run --name container_tomcat -p 8200:8080 tomcat:latest
此时,在Xshell中选中当前会话,然后右键复制会话
执行如下指令,查看容器信息,可以看到如下图椭圆标注的端口映射信息
docker ps -a
还可以通过docker port来查看容器的端口映射信息
docker port bdb45647f017
docker port container_tomcat
在新创建的会话界面中使用curl来测试一下。curl是一个命令行工具,通过指定的URL来上传或下载数据,并将数据展示出来。执行如下指令
curl 127.0.0.1:8200
在浏览器中访问,结果如下:
使用docker logs查看日志信息,-f 参数让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。
docker logs -f bdb45647f017
终端页面停留在如上图页面中,因为我们的docker run没有设置-d,即没有设置让容器在后台运行。-d:让容器在后台运行。
使用docker inspect查看Docker 容器的配置和状态信息
docker inspect bdb45647f017
安装JDK
从上面的docker inspect查看到tomcat的版本为9.0.37
在Tomcat官网查看其对应的JDK版本的要求
查看Tomcat9.0对应的文档,如下图所示需要Java 8或者以上版本
因此,本文中选择的是jdk-8u191-linux-x64.tar.gz ,将其下载并添加至安装有Docker的Linux系统中。
docker cp :用于容器与主机之间的数据拷贝。使用该指令将jdk安装包拷贝到容器container_tomcat中。
docker cp ./jdk-8u191-linux-x64.tar.gz bdb45647f017:/root
docker exec :在运行的容器中执行命令。在容器 container_tomcat中开启一个交互模式的终端。
docker exec -i -t container_tomcat /bin/bash
创建目录/usr/local/java
mkdir -p /usr/local/java
将jdk-8u191-linux-x64.tar.gz解压缩到/usr/local/java目录下
cd /root
tar -zxvf ./jdk-8u191-linux-x64.tar.gz -C /usr/local/java/
安装vi指令
apt-get update
apt-get install vim
编辑.bashrc文件,添加如下图中的2行export内容
vi ~/.bashrc
执行source指令,让环境变量生效
source ~/.bashrc
执行如下指令,测试jdk是否安装和配置成功
java -version
测试Tomcat
通过docker inspect查看docker中tomcat的所在位置
docker inspect container_tomcat
通过docker exec 对container_tomcat开启一个交互式终端
docker exec -i -t container_tomcat /bin/bash
查看tomcat中的webapps目录,因为之前访问的时候都是返回404
从上图中的操作中,发现webapps中无内容。
docker cp :用于容器与主机之间的数据拷贝。通过该命令将Linux系统上之前已经存在的Tomcat下webapps中的ROOT拷贝到Docker中的container_tomcat容器webapps目录下
docker cp ./ROOT container_tomcat:/usr/local/tomcat/webapps/
在container_tomcat交互式终端中查看webapps目录
此时,再次使用curl进行测试,发现Tomcat成功访问的页面源码
curl 127.0.0.1:8200
在浏览器中访问,结果如下
此时,JDK和Tomcat在Docker中均已成功安装和测试。
欢迎关注个人微信公众号“我爱编程持之以恒”
更多推荐
所有评论(0)