docker制作tomcat镜像

1、下载对应版本的安装包,常用的版本主要有:

  • linux x86
  • linux x64
  • linux arm
  • linux arm x64

2、编写 Dockerfile 文件

# 基础镜像
FROM centos:7
 
# 维护人
MAINTAINER <xxxxxx@163.com>
 
# 更新日期
ENV REFRESHED_AT 2019-12-25
 
# 进入镜像目录下的 /usr 目录
WORKDIR /usr
 
# 在 /usr 目录下创建 jdk 目录
RUN mkdir jdk
 
# 在 /usr 目录下创建 tomcat 目录
RUN mkdir tomcat
 
# 将本机的jdk安装包上传到镜像 /usr/jdk 目录下
COPY jdk-8u192-linux-x64/ /usr/jdk/
 
# 将本机的tomcat安装包上传到镜像 /usr/tomcat目录下
COPY apache-tomcat-9.0.30/ /usr/tomcat/
 
# 设置镜像的环境变量
ENV JAVA_HOME=/usr/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=/sbin:$JAVA_HOME/bin:$PATH
 
# 开放端口
EXPOSE 8080
 
# 启动命令
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]

3、构建镜像

#-t,目标镜像名;. 当前目录
sudo docker build -t tomcat:9.0.30 .

4、查看存在的镜像

sudo docker images

5、启动容器

#-d,后台运行;-p,物理机端口:容器端口;--name,容器名称
sudo docker run -d -p 8080:8080 --name tomcat_9 tomcat:9.0.30

6、访问

http://ip:8080

7、容器启动成功后,可进入容器查看其中的文件

sudo docker container ls
sudo docker ps
#-it,可交互的终端
sudo docker exec -it <container_id> /bin/bash

8、查看日志

sudo docker logs <container_id>

9、在其他服务器上运行容器(需要先上传制作好的镜像到镜像服务器)

sudo docker pull tomcat:9.0.30 # 载入镜像
sudo docker run -d -P tomcat:9.0.30

10、删除容器/镜像(镜像启动后会创建容器)

#删除单个容器
sudo docker rm -f <容器id>
#删除所有停止的镜像
sudo docker container prune
#强制删除镜像
sudo docker rmi -f <镜像名>

<============分割线===============>

①、容器映射本机目录

#-v 本地目录:docker目录,映射本地目录到docker目录,这样docker相当于加载本地的目录运行
sudo docker run -d -p 8080:8080 -v /opt/docker/webapps:/usr/tomcat/webapps --name tomcat_9 tomcat:9.0.30

②、映射本机单个war文件

sudo docker run -d -p 8080:8080 -v /opt/docker/webapps/HelloWorld.war:/usr/tomcat/webapps/HelloWorld.war --name tomcat_9 tomcat:9.0.30

更新时间:2020-05-21 19:18:09

本文由 新逸Cary 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
原文链接:https://blog.xinac.cn/archives/200310003.html
最后更新:2020-05-21 19:18:09

评论

Your browser is out of date!

Update your browser to view this website correctly. Update my browser now

×