
拉取官方镜像:
[root@iz2ze5f9taz5c4j34ihsj6z ~]# docker pull tomcat
拉取过程

下载完成,本地镜像列表里查到 REPOSITORY 为 tomcat 的镜像。
[root@iz2ze5f9taz5c4j34ihsj6z ~]# docker images|grep tomcat
![]()
启动tomcat
docker run -d -p 8081:8080 tomcat
-p 端口映射
8081是外围访问端口 8080是docker容器端口
-d 表示后台运行
-v /etc/localtime:/etc/localtime 容器使用宿主机时间、时区
我在启动过程中遇到如下错误
container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\""
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"".
解决方案:
使用 root 权限登录 Centos;执行
sudo yum update
保证yum包是最新
![]()
出现这一串则表示启动成功,可在浏览器访问服务器公网IP加端口号
接下来我们把war包放上来进行测试
在usr/local/ 新建一个文件夹 用于存放外部war包
mkdir xxxxx
查看docker正在运行容器
[root@iz2ze5f9taz5c4j34ihsj6z ~]# docker ps
![]()
进入docker中 tomcat容器 需要使用容器ID,使用 docker ps 即可查看
[root@iz2ze5f9taz5c4j34ihsj6z ~]# docker exec -it 0444e85ed5fb /bin/bash
进入后的样子 /usr/local/tomcat/ 我们可以是用ls列出目录下的文件及文件夹
![]()
进入tomcat容器后我们接下来的操作不是在tomcat容器中进行的 所以要使用exit命令退出tomcat容器 有点脱了裤子放屁多此一举的感觉 注意 在tomcat容器中不能使用docker 命令
root@0444e85ed5fb:/usr/local/tomcat/webapps# exit
![]()
接下来是激动人心的时刻 将war包复制到tomcat目录下的webapps目录中
在这里我使用的WinSCP 将war包上传至刚刚创建的目录下 usr/local/xxxx
[root@iz2ze5f9taz5c4j34ihsj6z ~]# docker cp /usr/local/war/qbprkym.war 0444e85ed5fb:/usr/local/tomcat/webapps
docker cp:用于容器与主机之间的数据拷贝。
/usr/local/war/qbprkym.war:是我存放war包的目录
0444e85ed5fb:/usr/local/tomcat/webapps:容器的webapps目录
接下来退出容器或者重启tomcat

再此就不声明借鉴博客地址了 由于借鉴好多博客 历经几天才成功将项目跑起来 很多地址也找不了
本文详细介绍如何在Docker环境下部署Tomcat应用服务器,包括拉取官方镜像、解决常见启动错误、配置端口映射及时间同步,以及如何通过容器内外部文件拷贝实现war包的部署。
2030

被折叠的 条评论
为什么被折叠?



