Docker 创建1个自己的Tomcat 镜像
生活随笔
收集整理的這篇文章主要介紹了
Docker 创建1个自己的Tomcat 镜像
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一步 準備Tomcat 和 JDK的安裝包
在Docker 中, Tomcat 是運行在Linux上的, 所以我們的Docker File 要基于Centos.
同時, 要運行Tomcat jdk也是必要的。
對于Centos 我們使用官方的鏡像就ok了
因為學習關系, Tomcat和jdk的壓縮包就自己準備, 不使用官方的。
[gateman@i-93f6y1io tomcat1]$ ls -l 總用量 200944 -rw-rw-r-- 1 gateman gateman 930 2月 24 01:07 Dockerfile -rw-rw-r-- 1 gateman gateman 195337531 2月 23 22:09 jdk8.tar.gz -rw-rw-r-- 1 gateman gateman 0 2月 23 22:15 readme.txt -rw-rw-r-- 1 gateman gateman 10424147 2月 23 23:23 tomcat8.tar.gz drwxrwxr-x 3 gateman gateman 19 2月 23 22:53 usr [gateman@i-93f6y1io tomcat1]$第二步 創建掛載的日志目錄
因為我們用的容器, 就不打算暴露webapps了, 只暴露日志目錄方便trouble shooting.
[gateman@i-93f6y1io tomcat1]$ pwd /home/gateman/docker/dockerfile/tomcat1 [gateman@i-93f6y1io tomcat1]$ mkdir -p /usr/local/Tomcat/logs第三步 編寫DockerFile
FROM centos #基于 centos 必須 MAINTAINER nvd11@163.com #作者信息RUN groupadd -r rad && useradd -r -u 1000 -g rad gateman #創建啟動tomcat的用戶, uid 一定要與宿主機的對應用戶一樣, 否則生成logs無讀權限 RUN useradd -r -g rad radrel #創建另1個用戶COPY readme.txt /usr/local/readme.txt #Copy 文件到容器ADD jdk8.tar.gz /usr/local/ #ADD 相對于 COPY 有自動解壓的功能 ADD tomcat8.tar.gz /usr/local/ #ADD 相對于 COPY 有自動解壓的功能RUN chown -R radrel:rad /usr/local/Tomcat8 #令gateman accoun有啟動tomcat的權限 RUN chown -R radrel:rad /usr/local/java-8-oracle RUN chmod -R 755 /usr/local/Tomcat8 RUN chmod -R 755 /usr/local/java-8-oracle RUN chmod g+w /usr/local/Tomcat8/logs #令gateman accoun有寫log權限 RUN chmod g+w /usr/local/Tomcat8/work #令gateman 有些work 文件權限(jsp 臨時classes) RUN rm -f /usr/local/Tomcat8/logs/catalina.out #刪除原來的log文件, 萬一原文件由其他用戶創建就無法寫入 RUN rm -rf /usr/local/Tomcat8/work/* #https://www.cnblogs.com/meitian/p/9078980.htmlENV MYPATH /usr/local #定義環境變量 WORKDIR $MYPATH #設置容器工作目錄ENV JAVA_HOME /usr/local/java-8-oracle ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/Tomcat8 ENV CATALINA_BASH /usr/local/Tomcat8 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/binEXPOSE 8080 #令容器對外暴露端口USER gateman #使用gateman賬號啟動tomcat 否則tomcat 由root啟動, 那么掛載在外面的日志文件是root的, 無法查看 CMD /usr/local/Tomcat8/bin/startup.sh && tail -F /usr/local/Tomcat8/logs/catalina.out第四步 創建鏡像
docker build -t rad_tomcat1:0.9 .第五步 運行鏡像
docker run -d -p 3351:8080 -v /home/gateman/docker/dockerfile/tomcat1/usr/local/Tomcat/logs:/usr/local/Tomcat8/logs --name rad_tomcat1 rad_tomcat1:0.9總結
以上是生活随笔為你收集整理的Docker 创建1个自己的Tomcat 镜像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转: centos7 安装 juypte
- 下一篇: Jenkins 添加 linux节点