搜尋

首頁  >  問答  >  主體

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
为情所困为情所困2774 天前986

全部回覆(2)我來回復

  • 仅有的幸福

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

    擁有dockerfile 不一定就有映像檔。 你可以透過 docker build -t ${tagName} . 來建立image檔。 然後再透過鏡像檔案創建CONTAINER, 最終能夠運作的是你的container。 你目前的例子你可以透過以下命令完成上述過程:

    
    sudo docker build -t mytomcat .
    sudo docker run -p 8080:8080 mytomcat  //在这里你可以加上特定参数
    

    回覆
    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
  • 取消回覆