Centos7下使用docker配置两个Tomcat

准备工作

- 安装部署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

Centos7下使用docker配置两个Tomcat_第1张图片

  • 还需要开放防火墙的8080和8081端口。
# 开放某端口
firewall-cmd --permanent --add-port=端口号/tcp
# 查询开放端口
firewall-cmd --list-all

Centos7下使用docker配置两个Tomcat_第2张图片
此时访问公网IP或者localhost:8080就可以访问tomcat主页。

- 遇到问题
Centos7下使用docker配置两个Tomcat_第3张图片

访问8080端口报404错误,下面也有tomcat服务器的说明,提示说资源未找到。

- 原因

这是由于docker中的tomcat中的webapps文件目录为空导致的。
进入docker中tomcat的伪终端。将webapps.dist文件内容复制到webapps中或者将webapps删除即可。

扩展

  • 如果想将自己的网页资源作为tomcat的主页,那么需要将文件复制到docker中tomcat的webapps中。
    但是 docker中没有vi指令,有以下解决办法:
  1. 现在主机中编写或上传,然后通过docker cp将文件拷贝到指定目录
  2. 使用ftp服务,将文件上传
  3. 在运行(run)镜像时指定目录的映射 。

文件目录映射:冒号前时本地路径,冒号后是容器中的路径

docker run --name mytomcat -v /home/www/webapps:/usr/local/tomcat/webapps -d tomcat

使用FTP服务进行文件传输,以SecureCRT为例,首先需要开启FTP服务
Centos7下使用docker配置两个Tomcat_第4张图片
然后使用快捷键 alt+p进入文件传输,
Centos7下使用docker配置两个Tomcat_第5张图片
一些指令如下:

SecureCRT 按下ALT+P就开启新的会话 进行ftp操作。
输入:help命令,显示该FTP提供所有的命令
pwd:  查询linux主机所在目录(也就是远程主机目录)
lpwd: 查询本地目录(一般指windows上传文件的目录:我们可以通过查看"选项"下拉框中的"会话选项",我们知道本地上传目录为:D:/我的文档)
ls:   查询连接到当前linux主机所在目录有哪些文件
lls:  查询当前本地上传目录有哪些文件
lcd:  改变本地上传目录的路径
cd:   改变远程上传目录
get:  将远程目录中文件下载到本地目录
put:  将本地目录中文件上传到远程主机(linux)
quit: 断开FTP连接

你可能感兴趣的:(Nginx,linux,docker,centos,tomcat)