docker制作tomcat镜像

大兔子大兔子 提交于 2020-03-05 18:41:18

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 480f45dc4c00284690b378c063daf7371719c1cddf0efc2032223bfb318b2076 /bin/bash

8、查看日志

sudo docker logs 2b1b7a428627

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 <镜像名>

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

1、容器映射本机目录

# -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

2、映射本机单个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

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!