2017-12-08 14 views
0

에서 찾을 수 없습니다 아래에있는 내 Dockerfile이다.

FROM ubuntu:16.04 

RUN apt-get update \ 
    && apt-get install -y curl zip unzip vim software-properties-common \ 
    && echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections \ 
    && add-apt-repository -y ppa:webupd8team/java \ 
    && apt-get update \ 
    && apt-get install -y oracle-java8-installer \ 
    && wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add - \ 
    && echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | tee -a /etc/apt/sources.list.d/elasticsearch-1.7.list \ 
    && apt-get update \ 
    && apt-get install -y elasticsearch \ 
    && echo "network.host: localhost" >> /etc/elasticsearch/elasticsearch.yml 


EXPOSE 9200 

CMD ["elasticsearch"] 

도커 구축 작동하지만 고정 표시기 실행 명령. 데몬에서 오류 응답 : OCI 런타임 오류 : container_linux.go : 265 : 날이 오류를주고 시작하는 컨테이너 과정은 "간부 : \"원인 : 내가

"실행 파일 $ PATH에 찾을 수 없습니다"elasticsearch \가 Mac 및 Docker 버전 사용 : 17.09.0-ce

답변

1

이것은 며칠입니다. 문제를 해결 했습니까? 오류 메시지는 문제가 무엇인지 정확히 설명합니다 (문제가 무엇인지 확신 할 수는 없지만).

나는 이것을 기반으로 도커 빌드를 만들었습니다. 여기에 $PATH의 : elasticsearch는 (분명히) 설치되는 곳

[email protected]:/# echo $PATH 
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

은 다음과 같습니다 elasticsearch가 /usr/share/elasticsearch/bin/elasticsearch에 설치됩니다 같은

[email protected]:/# find/-name 'elasticsearch' -type f 
> /etc/default/elasticsearch 
> /etc/init.d/elasticsearch 
> /usr/share/lintian/overrides/elasticsearch 
> /usr/share/elasticsearch/bin/elasticsearch 

그 바탕으로, 그것은 보인다. 내가 가장 쉬운 해결책은 그 전체 경로에 CMD을 설정하는 것입니다 생각 :

말했다되고 그건
CMD ["/usr/share/elasticsearch/bin/elasticsearch"] 

는, elasticsearch가 필요한 다른 많은 데이터를 가지고 - 그냥 작동 표시되지 않는 명령을 실행. how complex their dockerfile을 기반으로하고, /etc/init.d/elasticsearch (컨테이너 대신 서버에 설치 한 경우 elasticsearch가 실행되는 방식)에서 볼 수있는 내용을 기반으로, 대신 공식 컨테이너를 사용하는 것이 좋습니다. 나만의 것을 만들어라.