docker中使用tomcat
2023-09-14 09:09:37 时间
扩展Tomcat的官方Dockerfile,构建新的镜像,从修改过的新镜像启动容器,并部署JavaWeb项目
使用docker search可以查到最流行的(和官方的)Docker Tomcat容器:
# docker search tomcat
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/tomcat Apache Tomcat is an open source implementa... 178 [OK]
docker.io docker.io/consol/tomcat-7.0 Tomcat 7.0.57, 8080, "admin/admin" 12 [OK]
docker.io docker.io/consol/tomcat-8.0 Tomcat 8.0.15, 8080, "admin/admin" 10 [OK]
docker.io docker.io/consol/tomcat-6.0 Tomcat 6.0.43, 8080, "admin/admin" 6 [OK]
docker.io docker.io/dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba... 4 [OK]
docker.io docker.io/malderhout/tomcat Tomcat7 with OpenJDK7 on CentOS7 3 [OK]
docker.io docker.io/cloudesire/tomcat Tomcat server 6/7/8 with oracle java 7/8 o... 2 [OK]
docker.io docker.io/ericogr/tomcat Tomcat 8.0.23, 8080, "docker/docker" 1 [OK]
docker.io docker.io/liferay/tomcat Tomcat version used by Portal bundles (onl... 1 [OK]
docker.io docker.io/learninglayers/tomcat 0 [OK]
使用docker pull 下载官方镜像,这里我选择官方的tomcat,latest版本
# docker pull tomcat
下载完成后,使用docker images 命令查看镜像
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
docker.io/tomcat latest cb8603fe47ec 3 weeks ago 347.8 MB
扩展Dockerfile我需要扩展Dockerfile,来实现Maven的自动部署。需要添加settings.xml,更 新tomcat-users.xml文件。如下所示:
tomcat-users.xml:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="chag" password="111111" roles="manager,manager-gui,manager-script" />
</tomcat-users>
settings.xml:
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<servers>
<server>
<id>TomcatServer</id>
<username>chag</username>
<password>111111</password>
</server>
</servers>
这些文件和Dockerfile放在同一个目录下。
Dockerfile更新为:
FROM tomcat
MAINTAINER "CHAG <chag@gmail.com>"
ADD settings.xml /usr/local/tomcat/conf/
ADD tomcat-users.xml /usr/local/tomcat/conf/
当镜像构建时,配置文件会被放置到正确目录下。从这个镜像启动的任意容器都会包含这些文件。
重构镜像:在当前文件目录
# docker build -t chag/tomcat .
启动容器:
# docker run -d --name tomcat -p 8080:8080 chag/tomcat
使用宿主机的IP:8080就可以访问tomcat服务了
相关文章
- 在华为云ECS上手工通过Docker部署tomcat
- 前后端项目部署-2, flask+Gunicorn+gevent,docker部署,
- Docker - Docker与Vagrant的区别
- docker 应用篇————docker基本命令[四]
- Docker版本Jenkins的使用
- Docker 认识容器:容器的基本操作和实现原理
- veth-pair技术在docker中的应用(docker网络通信)及tomcat Dockerfile示例
- Rancher添加主机docker命令
- 在华为云ECS上手工通过Docker部署tomcat
- 008-docker-安装-tomcat:8.5.38-jre8
- 【云原生之Docker】Docker容器的存储与迁移
- Docker实战之tomcat使用
- 软件测试如何快速搭建测试环境:docker 部署 tomcat 环境
- Docker 安装 Redis
- docker-compose 通过NGINX快速搭建负载均衡的Tomcat集群
- Docker 部署 Tomcat
- Docker学习笔记17:docker实例之安装 Node.js、PHP、MySQL、Tomcat、Python、Redis、MongoDB、Apache
- Docker 镜像安全
- Docker 进阶之镜像分层详解