使用Dockerfile自定义一个包含centos,tomcat的镜像

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

相关文章
相关标签/搜索