使用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 <[email protected]>" 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服务了
部署项目:点击红色区域登录管理控制台