准备工作
- 安装部署docker
docker安装、部署、基本指令
- docker拉取Tomcat镜像
docker容器镜像库
docker pull tomcat:版本号
- docker中常用的指令
# 查看docker中正在运行的容器,包含镜像名、创建时间、镜像运行状态、端口映射
docker ps
# 查看docker中的所有容器
docker ps -a
# 删除容器中的镜像,不从仓库删除
docker rm 镜像名
# 查看docker中的所有镜像
docker images
# 从仓库中删除镜像
docker rmi 镜像名
# 查看容器镜像运行状态
docker stats 容器镜像名/容器ID
# 开启镜像
docker start 镜像
# 关闭镜像
docker stop 镜像名
# 重启镜像名
docker restart 镜像名
# 进入指定容器镜并进行交互操作
docker exec -it 镜像名/ID /bin/bash
# 容器镜像和主机中文件的相互拷贝
# docker cp 镜像名:docker中的目录 主机中的目录
docker cp tomcat8080:/usr/local/tomcat/webapps /usr/local/tomcat8080/webapps docker
# docker cp 主机中的目录 镜像名:docker中的目录
docker cp /usr/local/tomcat8080/webapps docker cp tomcat8080:/usr/local/tomcat/webapps
docker运行两个Tomcat
docker run --name tomcat8080 -p 8080:8080 tomcat
docker run --name tomcat8081 -p 8081:8080 tomcat
- 查看tomcat的运行状态:
docker ps -a
- 还需要开放防火墙的8080和8081端口。
# 开放某端口
firewall-cmd --permanent --add-port=端口号/tcp
# 查询开放端口
firewall-cmd --list-all
此时访问公网IP或者localhost:8080就可以访问tomcat主页。
- 遇到问题
访问8080端口报404错误,下面也有tomcat服务器的说明,提示说资源未找到。
- 原因
这是由于docker中的tomcat中的webapps文件目录为空导致的。
进入docker中tomcat的伪终端。将webapps.dist文件内容复制到webapps中或者将webapps删除即可。
扩展
- 如果想将自己的网页资源作为tomcat的主页,那么需要将文件复制到docker中tomcat的webapps中。
但是 docker中没有vi指令,有以下解决办法:
- 现在主机中编写或上传,然后通过
docker cp
将文件拷贝到指定目录 - 使用ftp服务,将文件上传
- 在运行(
run
)镜像时指定目录的映射 。
文件目录映射:冒号前时本地路径,冒号后是容器中的路径
docker run --name mytomcat -v /home/www/webapps:/usr/local/tomcat/webapps -d tomcat
使用FTP服务进行文件传输,以SecureCRT为例,首先需要开启FTP服务
然后使用快捷键 alt+p
进入文件传输,
一些指令如下:
SecureCRT 按下ALT+P就开启新的会话 进行ftp操作。
输入:help命令,显示该FTP提供所有的命令
pwd: 查询linux主机所在目录(也就是远程主机目录)
lpwd: 查询本地目录(一般指windows上传文件的目录:我们可以通过查看"选项"下拉框中的"会话选项",我们知道本地上传目录为:D:/我的文档)
ls: 查询连接到当前linux主机所在目录有哪些文件
lls: 查询当前本地上传目录有哪些文件
lcd: 改变本地上传目录的路径
cd: 改变远程上传目录
get: 将远程目录中文件下载到本地目录
put: 将本地目录中文件上传到远程主机(linux)
quit: 断开FTP连接