編寫 Dockerfile 文件
vim Dockerfile
# 鏡像使用的基礎鏡像
FROM centos
# 指明鏡像的做者
MAINTAINER wu<wuyuanhui@qq.com>
# 添加壓縮包,會自動解壓,需提早下載放到 Dockerfile 文件所在目錄
ADD jdk-8u11-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.22.tar.gz /usr/local/
# 相似ADD指令,將文件拷貝到鏡像中,需提早編寫放到 Dockerfile 文件所在目錄
COPY readme.txt /usr/local/readme.txt
# 鏡像構建時須要運行的命令
RUN yum -y install vim
RUN yum -y install net-tools
# 構建時設置環境變量
ENV MYPATH /usr/local
# 鏡像的工做目錄,啓動容器後進入的目錄
WORKDIR $MYPATH
# 設置 JAVA 環境變量
ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
# 指定對外的暴露端口
EXPOSE 8080
# 匿名掛載數據卷
VOLUME ["volume01","volume02"]
# 容器啓動時須要運行的命令,多個CMD命令只有最後一個會生效
# CMD中的命令會被docker run的命令徹底替代
CMD echo $MYPATH
CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.22/bin/logs/catalina.out
# 構建鏡像
# -f 指定使用的Dockerfile文件,-t 指定生成鏡像的版本,. 鏡像放在當前目錄
docker build -t my_tomcat .
# 查看全部鏡像
docker images
# 運行容器,默認會去找最新版,因此須要指定版本
docker run -d -p 8080:8080 --name my_tomcat01 \
-v /home/tomcat/test:/usr/local/apache-tomcat-9.0.22/webapps/test \
-v /home/tomcat/logs:/usr/local/apache-tomcat-9.0.22/logs \
my_tomcat
# 進入容器
docker exec -it my_tomcat01 /bin/bash
# 查看鏡像構建歷史
docker history image_id
# 查看容器詳情和數據卷掛載信息
docker inspect my_centos01