小知识,大挑战!本文正在参与“程序员必备小知识”创作活动
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