安装Tomcat
#搜索tomcat镜像
docker search tomcat
#拉取tomcat镜像
docker pull tomcat
#根据镜像启动tomcat容器
docker run --name tomcat1 -d -p 8080:8080 tomcat
#查看本地的容器,可以看到tomcat容器已经启动成功了
docker ps -a
安装mysql
#搜索mysql镜像
docker search mysql
#拉取mysql镜像
docker pull mysql
#根据mysql镜像启动mysql容器,-e MYSQL_ROOT_PASSWORD是必填项,用于指定root用户的密码
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql
#查看本地的容器,可以看到mysql容器已经被创建成功了
docker ps -a
安装nginx
#搜索nginx镜像
docker search nginx
#拉取nginx镜像
docker pull nginx
#根据nginx镜像创建nginx容器
docker run --name nginx -d -p 80:80 nginx
#查看本地的容器,可以看到nginx容器已经创建成功了
docker ps -a
安装redis
#搜索redis镜像
docker search redis
#拉取redis镜像
docker pull redis
#根据redis镜像创建redis容器
docker run --name redis -d -p 6379:6379 redis
#查看本地的容器,可以看到redis容器已经创建成功了
docker ps -a
配置tomcat中的maven自动部署
- 在/home下创建一个image_tomcat文件夹
- 下载一份server.xml,修改配置文件,在port等于8080的Connector节点增加属性URIEncoding=”UTF-8”
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
- 下载一份tomcat-user.xml,修改配置文件,在tomcat-users中添加以下内容
<role rolename="manager-gui"/> <role rolename="admin-gui"/> <role rolename="manager-script"/> <user roles="manager-gui,admin-gui,manager-script" password="tomcat" username="tomcat"/>
- 添加自己创建一份manager.xml
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> </Context>
- 自己创建一份Dockerfile
# First docker file from Hui
# VERSION 0.0.1
# Author: Hui
#基础镜像
FROM tomcat:7.0.77-jre8
#定义工作目录
ENV WORK_PATH /usr/local/tomcat/conf
#定义要替换的文件名tomcat-users.xml
ENV USER_CONF_FILE_NAME tomcat-users.xml
#定义要替换的server.xml文件名
ENV SERVER_CONF_FILE_NAME server.xml
#定义要替换的manager.xml文件名
ENV MANAGER_CONF_FILE_NAME manager.xml
#删除原文件tomcat-users.xml
RUN rm $WORK_PATH/$USER_CONF_FILE_NAME
#复制文件tomcat-users.xml
COPY ./$USER_CONF_FILE_NAME $WORK_PATH/
#删除原文件server.xml
RUN rm $WORK_PATH/$SERVER_CONF_FILE_NAME
#复制文件server.xml
COPY ./$SERVER_CONF_FILE_NAME $WORK_PATH/
#删除原文件manager.xml
#RUN rm $WORK_PATH/$MANAGER_CONF_FILE_NAME
#复制文件manager.xml
COPY ./$SERVER_CONF_FILE_NAME $WORK_PATH/Catalina/localhost/
执行Docker命令
docker build -t bolingcavalrytomcat:0.0.1 .
提示已经覆盖原有代码
docker run --name=tomcat001 -p 8080:8080 -e TOMCAT_SERVER_ID=tomcat_server_001 -idt bolingcavalrytomcat:0.0.1
成功启动tomcat
在配置远程管理tomcat出现问题的时候可以参考我之前的博客《Maven自动部署至远程tomcat》