我是刚接触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
仅有的幸福2017-04-25 09:05:20
dockerfile があるからといって、必ずしもイメージ ファイルがあるとは限りません。 docker build -t ${tagName} を通じてイメージ ファイルをビルドできます。 次に、イメージ ファイルを使用して CONTAINER を作成すると、最終的にコンテナが実行できるようになります。 現在の例では、次のコマンドを使用して上記のプロセスを完了できます:
リーリー曾经蜡笔没有小新2017-04-25 09:05:20
Dockerfile を自分で作成する前に、まず Dockerfile の構築プロセスを練習することをお勧めします。
独自のロジックに従って、基本イメージからコンテナを作成して入力し、最初にDockerfileに書きたいコマンドを実行し、問題があるかどうかを確認し、問題を解決してからすべてのコマンドをまとめますそしてそれらを Dockerfile に書き込みます。
Dockerfile を紙に直接書く代わりに。
ここでのエラーは明らかです。Tomcat 起動スクリプト /usr/local/tomcat/bin/startup.sh
が存在しないため、コンテナを起動できません。まずコンテナ内で Tomcat をビルドする練習をし、Tomcat を起動する方法、起動時にどのような問題が欠けているかを確認し、すべての問題を解決して、ビルドした Tomcat が実行できるようにしてから、これらのことを Dockerfile に書き込んでください。空のスペースに Dockerfile を作成することは非常に強力で、練習の手間が省けるように思えますが、実際には単なる時間の無駄です。