- 进入/opt/tomcat9路径下,上传我们需要的tomcat以及jdk安装包
- 下面我们开始在这个目录下编写Dockerfile文件
Dockerfile内容:#基于我们从阿里云下载下来的centos基础镜像 FROM centos #定义维护者的信息 MAINTAINER kgf<kgf@163.com> #把宿主机当前上下文的test1.txt文件拷贝到容器/usr/local/路径下 COPY readme.txt /usr/local/readme.txt #把java与tomcat添加到容器中,使用ADD命令会自动帮我们解压 ADD jdk-8u191-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-9.0.12.tar.gz /usr/local/ #安装vim编辑器 RUN yum -y install vim #设置工作访问时候的workdir路径,登录落脚点 ENV MY_PATH /usr/local WORKDIR $MY_PATH #配置java与tomcat环境变量 ENV JAVA_HOME /usr/local/jdk1.8.0_191 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.12 ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.12 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin #容器运行时监听的端口 EXPOSE 8080 #启动时运行tomcat,下面的三种方式随便一种都可以使用 #ENTRYPOINT ["/usr/local/apache-tomcat-9.0.12/bin/startup.sh"] #CMD ["/usr/local/apache-tomcat-9.0.12/bin/catalina.sh","run"] CMD /usr/local/apache-tomcat-9.0.12/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.12/bin/logs/catalina.out
- 执行dockerfile文件
命令:docker build -f /opt/tomcat9/Dockerfile -t mytomcat:v1.0 . - 运行镜像生成镜像的实例容器
命令:
docker run -d -p 9080:8080 --name myt9 \ -v /opt/tomcat9/test:/usr/local/apache-tomcat-9.0.12/webapps/test \ -v /opt/tomcat9/logs:/usr/local/apache-tomcat-9.0.12/logs \ --privileged=true \ mytomcat:v1.0 #注释: -d:表示后台运行 -p 宿主机端口号:容器内运行的软件程序端口 --->表示将容器内端口映射到宿主机,对外开放 --name +容器名称 --->为运行启动的容器起一个别名 -v +宿主机路径:容器内路径 --->表示为宿主机和容器添加关联数据卷 --privileged=true ---->这是为了防止数据卷没有读写权限 mytomcat:v1.0 ---->这个是镜像的名称:版本号
- 查看运行效果:
- 查看本地主机是否同步了容器的数据卷
- 下面在自定义的tomcat9上发布web项目演示
⑴因为我们在容器内创建关联的数据卷目录是test命令,所以我们就将一个
简单的名称为test的web项目部署到容器内。
a:注意
因为宿主机的test目录是和容器类的test关联目录,所以我们只需要将
项目内文件传递到宿主机内即可。
b:查看容器内test目录下文件
⑵重新启动运行的容器
效果(完美):
docker案例之制作tomcat镜像
最新推荐文章于 2024-07-16 13:36:05 发布