0
点赞
收藏
分享

微信扫一扫

docker出现问题:dockerfile启动不起来(在启动命令后面加了/bin/bash 导致启动不起来)解决方案


docker使用教程相关系列 目录

问题:

编写了dockerfile,然后通过dockerfile构建镜像,构建的镜像生成容器,然后启动

FROM centos:7
MAINTAINER www.zenghw.com
ENV VERSION=8.5.47
RUN yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y && \
yum clean all && \
rm -rf /var/cache/yum/*
COPY apache-tomcat-8.5.47.zip /tmp
RUN cd /tmp && \
unzip apache-tomcat-8.5.47.zip && \
mv apache-tomcat-8.5.47 /usr/local/tomcat8 && \
rm -rf apache-tomcat-8.5.47.zip && \
cd /usr/local/tomcat8/bin/ && \
chmod +x *.sh && \
sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat8/bin/catalina.sh && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/tomcat8/bin
WORKDIR /usr/local/tomcat8
EXPOSE 8080
CMD ["/usr/local/tomcat8/bin/catalina.sh", "run"]
docker build -t tomcat:v1 -f Dockerfile-tomcat .
docker run -d -i -t --name=tomcatv1 -p 8888:8080 tomcat:v1 /bin/bash

分析原因

/bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill。

在dockerfile里已经声明了命令

CMD ["/usr/local/tomcat8/bin/catalina.sh", "run"]

解决方案

容器启动时,run命令后面不加/bin/bash


举报

相关推荐

三系统启动出现问题

0 条评论