1.首先創建一個專用的dockerfile目錄,方便統一存放將要建立的Dockerfile文件及相關資源,linux
例如:mkdir mydockerselfweb
2.定位到mydockerself路徑下,下載linux版本的tomcat和jdk,以備使用docker
3.新建Dockerfile文件apache
touch Dockerfile
4.編輯文件內容以下:vim
FROM centos
#做者 MAINTAINER zxp #安裝vim編輯器 RUN yum -y install vim #設置訪問時默認進入的目錄,進入/usr/local目錄 ENV MYPATH /usr/local WORKDIR $MYPATH #在/usr/local下建立jdk目錄,用來存放jdk文件 #RUN mkdir jdk #在/usr/local下建立tomcat目錄,用來存放tomcat #RUN mkdir tomcat #將宿主機的jdk目錄下jdk文件拷至鏡像的/usr/local目錄下,並自動解壓。ADD與COPY命令區別 ADD jdk-8u181-linux-x64.tar.gz /usr/local/ #將宿主機的tomcat目錄下的文件拷至鏡像的/usr/local目錄下,並自動解壓 ADD tomcat8.tar.gz /usr/local/ #設置環境變量 ENV JAVA_HOME /usr/local/jdk1.8.0_181 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATLINA_HOME /usr/local/apache-tomcat-8.0.53 ENV CATLINA_BASE /usr/local/apache-tomcat-8.0.53 ENV PATH $PATH:$JAVA_HOME/bin:$CATLINA_HOME/lib:$CATLINA_HOME/bin #公開端口 EXPOSE 8080 #設置啓動命令,啓動Tomcat #CMD /usr/local/apache-tomcat-8.0.53/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.0.53/bin/logs/catalina.out ENTRYPOINT ["/usr/local/apache-tomcat-8.0.53/bin/catalina.sh","run"]
5.構建鏡像centos
#使用當前路徑下的Dockerfile文件構建鏡像,若是咱們定義的Dockefile文件名字不是默認的「Dockefile」,則須要-f 指定文件路徑和名字
docker build -t zxp/tomcat_by_z .
...tomcat
上圖顯示了構建的各個步驟,最後顯示成功bash
6.使用docker images查看建立好的鏡像,zxp/tomcat_by_z即爲咱們本身構建的鏡像app
7.經過構建的zxp/tomcat_by_z鏡像,啓動一個容器,並掛載test數據目錄和logs日誌目錄webapp
docker run -d -p 8080:8080 --name mytomcat001 -v /usr/local/mydockerself/tomcat8/test:/usr/local/apache-tomcat-8.0.53/webapps/test -v /usr/local/mydockerself/tomcat8/logs:/usr/local/apache-tomcat-8.0.53/logs --privileged=true zxp/tomcat_by_z
8. 查看啓動的容器
9.經過網址訪問啓動的tomcat容器
能夠正常訪問,說明一切ok。若是之後想部署網址,能夠經過宿主機掛載的test數據目錄進行部署。
10.若是咱們想進入容器內,能夠經過如下命令進入。
#e3d0f30a3ecd爲要進入的容器id
docker exec -it e3d0f30a3ecd /bin/bash
能夠看到,默認進入的目錄,就是咱們設置的默認工做目錄/usr/local