详细介绍了dockerrun运行容器的全自动处理,具有很好的实用价值,期待对大家有所帮助。跟我回去看看。
今天遇到了用Dockerfile搭建镜像系统的问题,镜像系统运行后容器是全自动的。
开始命令:
dockerrun-d-p8080:8080-v/usr/local/Tomcat7.0/logs:/usr/local/Tomcat7.0/logs-nameTomcatwebTomcat:7.0
运行dockerps后,发现docker容器已经走到了尽头。
搜了一下资料,发现这个问题并不复杂。原因是Docker容器在后台运行时必须有一个前台进程。
解决方案:
1.将正在运行的进程发送到前台启动,如nginxnginx-g“daemonoff;雄猫。/catalina.sh运行
2.应用可以在前台运行的tail、top等程序。强烈建议使用tail并输出您的日志文件。
添加entrypoint/opt/Tomcat7.0/bin/startup.sh&&;tail-F/opt/Tomcat7.0/logs/catalina.out
填写专业知识:DockerPull收购的tomcat没有形成日志,所以它自己写了一个tocmatdockerfile文档,日志是在评测中形成的
一.dockfile文档及其表达式如下
FROMopenjdk:8-jre MAINTAINERzyj ENVJAVA_HOME/docker-java-home ENVCATALINA_HOME/opt/tomcat ENVPATH$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/scripts #时区时间 RUNecho"Asia/Shanghai">/etc/timezone RUNmv/etc/localtime/etc/localtime_bak RUNcp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime #TOMCAT ENVTOMCAT_MAJOR8 ENVTOMCAT_VERSION8.5.35 RUNwgethttp://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.41/bin/apache-tomcat-8.5.41.tar.gz&&\ tar-zxvfapache-tomcat-8.5.41.tar.gz&&\ rmapache-tomcat*.tar.gz&&\ mvapache-tomcat*${CATALINA_HOME} RUNchmodx${CATALINA_HOME}/bin/*sh RUNchmod777${CATALINA_HOME}/logs/ RUNchmod777${CATALINA_HOME}/webapps/ #设定用户名密码admin ADDtomcat-users.xml/opt/tomcat/conf/ #远程登录 ADDcontext.xml/opt/tomcat/webapps/manager/META-INF/ ENVLANGzh_CN.UTF-8 #开放端口 EXPOSE8080 #LaunchTomcat WORKDIR/opt/tomcat/bin CMD["catalina.sh","run"]注意:此docker必须导入外部文档。
详细github
二。dockerfile编译器指令
dockerbuild-fdockerfile-tzyj/Tomcat。
三。运行说明
dockerrun-d-p8080:8080--nametomcat8 -v/opt/docker-tomcat/logs/:/opt/tomcat/logs/-v/opt/docker-tomcat/webapps/:/opt/tomcat/webapps/-v/opt/docker-tomcat/context.xml:/opt/tomcat/webapps/manager/META-INF/context.xml-v/opt/docker-tomcat/tomcat-users.xml:/opt/tomcat/conf/tomcat-users.xml--privileged=truezyj/tomcatdockerrun运行容器的处理就是我跟大家分享的全部。期待给你一个参考,也期待你的申请。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)