Docker 学习 丨 Dockerfile 制作 Tomcat 镜像

1,051 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动

Docker 学习 丨 Dockerfile 制作 Tomcat 镜像

vim dockerfile-tomcat

步骤

  • 准备镜像文件 tomcat 压缩包, jdk 的压缩包
    • Apache-tomcat-9.0.22.tar.gz (官网下载)
    • Jdk-8u11-linux-x64.tar.gz (官网下载)
  • 编写 Dockerfile 文件 (官方命名 Dockerfile)
FROM centos

MAINTAINER xujiantong<314783087@qq.com>

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u202-linux-x64.tar /usr/local/
ADD apache-tomcat-9.0.53.tar.gz /usr/local/

RUN YUM -y install vim

ENV MYPATH /usr/local

WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_202
ENV CLASS_PATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.53
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.53

ENV PATH $PATH:JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.53/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.53/bin/logs/catalina.out

构建镜像

docker build -t diytomcat .

启动容器

docker run -d -p 9090:8080 --name diytomcat01 -v /Users/xujiantong/home/tomcat/test:/usr/local/apache-tomcat-9.0.53/webapps/test -v /Users/xujiantong/home/tomcat/taomcatlogs:/usr/local/apache-tomcat-9.0.53/logs  diytomcat

# 将 webapps/test 项目挂载到本地 /Users/xujiantong/home/tomcat/test
# 将 tomcat 日志怪哉到本地 /Users/xujiantong/home/tomcat/taomcatlogs

访问测试

curl localhost:9090

本地发布

由于做了卷挂载本地就可以发布

cd /Users/xujiantong/home/tomcat/test
mkdir WEB-INFO
cd WEB-INFO
vim web.xml
...
vim index.html
...

发布镜像到 DockerHub

  • 访问 DockerHub 并 注册账号

  • 在服务器上提交自己的镜像

    # 登录
    docker login -u -p
    
    # 提交镜像
    docker images
    # 获取到需要提交的镜像 
    REPOSITORY        TAG       IMAGE ID       CREATED          SIZE
    diytomcat         1.0    0588e6412647   18 minutes ago   722MB
    # 提交命令
    docker push dmw/diytomcat:1.0 #拒绝
    docker push dmw/diytomcat:1.0
    
    # 给 diytomcat 加个版本
    docker tag 0588e6412647 dmw/tomcat:2.0
    docker push dmw/tomcat:2.0