方式一:先运行一个tomcat容器,再将war包放入容器内
1、docker pull tomcat:latest # 拉取 tomcat镜像
2、docker run -d --name <容器名称> -p 8081:8080 -e JAVA_OPTS='-Xmx2048m' <镜像ID/镜像名称:标签> # 创建并运行一个容器
- -d 后台方式运行
- --name 命名容器
- -p 8081:8080 将主机8081端口的请求转发至docker容器的8080端口
- -e JAVA_OPTS='-Xmx2048m' 设定程序运行期间最大可占用的内存大小为2G
3、docker cp <your-project.war> <容器ID/容器名称>:/usr/local/tomcat/webapps # 将 your-project.war复制到docker容器/usr/local/tomcat/webapps下
方式二:通过挂载的方式将war包放入容器内
1、docker pull tomcat:latest # 拉取 tomcat镜像
2、docker run -d --name <容器名称> -p 8081:8080 -e JAVA_OPTS='-Xmx2048m' \
-v <your-project.war>:/usr/local/tomcat/webapps/<your-project.war> <镜像ID/镜像名称:标签>
方式三:通过 Dockerfile方式(官方推荐)
1、vim Dockerfile
from docker.io/tomcat:latest
MAINTAINER kay
# 定义workdir=/usr/local/tomcat/conf
ENV workdir /usr/local/tomcat/conf
# 移除容器内的两个文件
RUN rm $workdir/server.xml
RUN rm $workdir/tomcat-users.xml
# 将主机当前路径的两个文件复制到容器内
COPY ./server.xml $workdir/server.xml
COPY ./tomcat-users.xml $workdir/tomcat-users.xml
2、构建镜像
docker build -t <镜像名称>:<标签> .
(注意末尾有“.”)
3、创建并运行容器
docker run -d --name <容器名称> -p 8081:8080 -e JAVA_OPTS='-Xmx2048m' \
-v <your-project.war>:/usr/local/tomcat/webapps/<your-project.war> <镜像ID/镜像名称:标签>
其他
# 查看镜像
docker images
# 查看容器
docker ps -a
# 查看日志
docker logs -f --tail="30" <容器ID/容器名称>
# 进入容器
docker exec -it <容器ID/容器名称> /bin/bash
# 强制移除容器(停止容器,移除容器)
docker rm -f <容器ID/容器名称>
# 移除镜像
docker rmi <容器ID/容器名称:标签>