찾다

 >  Q&A  >  본문

dockerfile - docker run 报错文件路径不存在

我是刚接触docker的小白,今天试着用dockerfile 构建一个tomcat镜像
结果在docker run 镜像时 报错

 /bin/sh: /usr/local/tomcat/bin/startup.sh: No such file or directory

我的dockerfile 文件内容如下: 请高手指点一下。谢谢

# tomcat
#
# VERSION       1.0

# 使用centos作为基准镜像
FROM centos

MAINTAINER lilin

# 使用root用户
USER root

ADD ./jdk-8u111-linux-x64.rpm /root

ADD ./tomcat /usr/local


#set environment variable
ENV JAVA_HOME /root/jdk-8u111-linux-x64
ENV PATH $JAVA_HOME/bin:$PATH

# 设置Tomcat7初始化运行,SSH终端服务器作为后台运行
ENTRYPOINT /usr/local/tomcat/bin/startup.sh && tail -F /usr/local/tomcat/logs/catalina.out

# 对外(其他容器)开放8080端口
EXPOSE 88
为情所困为情所困2770일 전982

모든 응답(2)나는 대답할 것이다

  • 仅有的幸福

    仅有的幸福2017-04-25 09:05:20

    dockerfile이 있다고 해서 반드시 이미지 파일이 있다는 의미는 아닙니다. docker build -t ${tagName} 을 통해 이미지 파일을 빌드할 수 있습니다. 그런 다음 이미지 파일을 통해 CONTAINER를 생성하면 결국 컨테이너가 실행될 수 있습니다. 현재 예에서는 다음 명령을 사용하여 위 프로세스를 완료할 수 있습니다.

    으아아아

    회신하다
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-04-25 09:05:20

    Dockerfile을 직접 작성하기 전에 먼저 Dockerfile 구축 프로세스를 연습하는 것이 가장 좋습니다.
    자신의 논리에 따라 기본 이미지를 통해 컨테이너를 생성 및 입력하고, Dockerfile에 작성하고 싶은 명령어를 먼저 실행한 후, 문제가 있는지 확인하고, 문제를 해결한 후, 모든 명령어를 요약하고 Dockerfile에 작성합니다.
    Dockerfile을 종이에 직접 작성하는 대신.

    여기서 발생한 오류는 명백합니다. Tomcat 시작 스크립트 /usr/local/tomcat/bin/startup.sh가 존재하지 않아 컨테이너를 시작할 수 없습니다. 먼저 컨테이너에서 Tomcat을 빌드하는 연습을 해보고, Tomcat을 어떻게 시작해야 하는지, 시작 시 어떤 문제가 없는지 확인하고, 모든 문제를 해결하고, 빌드한 Tomcat이 실행될 수 있는지 확인한 후 이러한 내용을 Dockerfile에 작성해 보세요. 빈 공간에 Dockerfile을 작성하는 것은 매우 강력하고 연습을 절약해 주는 것처럼 보이지만 실제로는 시간 낭비일 뿐입니다.

    회신하다
    0
  • 취소회신하다