- 創(chuàng)建Dockerfile
root用戶登錄在系統(tǒng)根目錄下創(chuàng)建文件夾tomcat7,并且切換到該目錄下
mkdir tomcat7
cd tomcat7
touch Dockerfile
- 編寫Dockerfile
說明:這里的EXPOSE要把程序中需要使用到的端口都要暴露出去全肮。根據(jù)環(huán)境變量CATALINA_BASE可以知道VOLUME指定的目錄就是tomcat部署war包的目錄塞蹭。
FROM ubuntu:14.04
MAINTAINER XXX(XXX@qq.com)
ENV REFRESHED_AT 2016-6-5
RUN apt-get -yqq update
RUN apt-get -yqq install tomcat7 default-jdk
ENV CATALINA_HOME /usr/share/tomcat7
ENV CATALINA_BASE /var/lib/tomcat7
ENV CATALINA_PID /var/run/tomcat7.pid
ENV CATALINA_SH /usr/share/tomcat7/bin/catalina.sh
ENV CATALINA_TMPDIR /tmp/tomcat7-tomcat7-tmp
RUN mkdir -p $CATALINA_TMPDIR
VOLUME ["/var/lib/tomcat7/webapps/"]
EXPOSE 8080 9000
ENTRYPOINT ["/usr/share/tomcat7/bin/catalina.sh", "run" ]
- 生成鏡像
注意,在這個過程中docker需要下載安裝的jdk和tomcat程序所以比較忙,可以通過命令:docker image查看下宣鄙,返回的數(shù)據(jù)中第一行有個REPOSITORY和TAG都是<none>的數(shù)據(jù)行袍镀,其中的VIRTUAL_SIZE是階段性變大的,說明是在下載冻晤。
docker build -t test/test_app .
- 運行鏡像生成容器
如果不知道鏡像id是多少就使用命令:docker images查看下苇羡,注意這里把EXPOSE出來的端口和宿主主機的端口綁定起來了,以后就可以使用宿主主機的IP地址和這個端口來訪問docker容器中的tomcat以及其中的應用程序了鼻弧。
docker run --name test_app -d -p 8080:8080 -p 9000:9000 鏡像id
- 測試
可以使用命令:docker port 容器id 8080设江,這個命令查看容器的8080端口和宿主主機端口之間的映射關系,而已看出來現(xiàn)在容器的8080端口映射的是宿主主機的8080端口攘轩。
http://宿主主機ip:8080/
- 查看tomcat的日志
如果要持續(xù)觀察日志 -f,這個時候日志是從頭開時讀的叉存,如果日志很長會刷屏很久,如果只打算看最新的日志可以采用以下的方式--tail 0 -f
docker logs 容器id
docker logs -f 容器id
docker logs --tail 0 -f 容器id