2017-10-22 6 views
2

Alpine Docker Containerを実行してビルドしようとすると、このようなエラーメッセージが表示されます。Alpine Docker Containerに確かに[Not Found]エラーが表示される

/bin/sh: /etc/init.d/postgresql: not found 

これは私のDockerfileです:

FROM alpine:3.5 

MAINTAINER hoge 

ENV LANG en_US.utf8 

ENV PHX_PORT 4000 
ENV PHX_DBNAME hoge_db 

COPY release.tar.gz/

RUN echo 'http://dl-3.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories 

RUN apk update && apk upgrade && \ 
    apk add --no-cache --virtual .base_deps build-base openssl-dev zlib-dev libxml2-dev wget gnupg ca-certificates && \ 
    apk add --no-cache readline-dev glib-lang libssl1.0 postgresql postgresql-client && \ 
    apk add --update binutils && \ 
    apk add --no-cache sudo && \ 
    apk --purge del .base_deps && \ 
    tar -xzf ./release.tar.gz && \ 
    echo "postgres ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/postgres && \ 
    chmod 600 /etc/sudoers.d/postgres && \ 
    sync && \ 
    /etc/init.d/postgresql setup && \ 
    /etc/init.d/postgresql start && \ 
    readelf -l /etc/init.d/postgresql | grep "program interpreter" && \ 
    psql -U postgres -c "CREATE DATABASE $PHX_DBNAME WITH ENCODING 'UTF8' OWNER=postgres TEMPLATE = template0;" 


VOLUME /var/lib/postgresql/data 

ENTRYPOINT ["psql", "-U", "postgres"] 

EXPOSE 5432 

/etc/init.d/postgresqlは確かに存在します。
実際に容器に入っていることを確認しています。
どのように変更する必要がありますか?

+0

スタックオーバーフローopenrcシェバングラインリファレンスを見た後、プログラミングや開発の質問のためのサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

答えて

1

apk addのリストにopenrcを追加する必要があります。同じのgithub issueに解決策を見つけた

は、/etc/init.d/postgresqlファイルを検査し、

関連する問題