以tomcat镜像为基础部署war包后再做成镜像

来源:互联网 发布:java 并发控制 编辑:程序博客网 时间:2024/04/28 14:59
#以交互的方式启动本地的镜像tomcat:hps,并且将本地目录/mnt/iso挂在到容器中的/tmp/repositories目录,方便从本地获取一些安装文件并进行一些操作
docker run -i -t -v /mnt/iso:/tmp/repositories tomcat:hps /bin/bash

#进行一些比如安装之类的操作。
docker ps

#找到自己正在操作的容器id(例如3bf5491933f2),然后退出交互界面,执行以下命令

docker commit 3bf5491933f2 tomcat:hps1


###此时的容器tomcat:hps1实际上是会加一层/bin/bash的操作,如果直接执行docker run -d -p 8081:8080 tomcat:hps1 不加命令,默认就是提供/bin/bash命令,因此需要在这一层外面再封装一层命令,并将容器内tomcat端口(以下已8080为例)暴露出来,通过Dockerfile方式来实现,文件内容如分割线内所示:

#----------分割线----------
# This is a commentFROM tomcat:hps1# expose httpd portEXPOSE 8080# the command to runCMD ["/usr/local/tomcat/bin/catalina.sh","run"]
#----------分割线----------
#然后在Dockerfile文件所在目录下,执行以下命令生成docker镜像:
docker build -t tomcat:hmr .

#这时候直接执行以下命令可以验证
docker run -d -p 8081:8080 tomcat:hmr

#如果希望将这个tomcat:hmr镜像保存成文件,可以执行:
docker save -o tomcat_hmr.tar tomcat:hmr

#这样就可以拷贝到其他服务器上去,然后可以在那台服务器上执行以下命令将镜像加载到本地(而非仓库中):

docker load -i tomcat_hmr.tar

###如果不想再在tomcat:hps1外封装一层,需要执行以下命令才能使用:

docker run -d -p 8081:8080 tomcat:hps1 /usr/local/tomcat/bin/catalina.sh run

0 0
原创粉丝点击