2017-09-27 10 views
1

私は、Goのコンテナを起動するために私の生産サーバー上でsudo docker-composeを実行しています。私はプロダクションサーバーでsudoアクセス権を持っていますが、rootユーザーではありません。/bin/shの起動が許可されていません。 docker-compose

エラー:

go_1  | /bin/sh: ./: Permission denied 

ドッキングウィンドウ-compose.yml

go: 
    build: 
     context: ./api 
     args: 
     app_env: ${APP_ENV} 
    volumes: 
     - ./api:/go/src/myproject/api 
    expose: 
     - "8080" 

ゴーDockerfile

From golang:1.8.3-alpine3.6 

RUN apk update && \ 
    apk add \ 
     bash \ 
     build-base \ 
     curl \ 
     make \ 
     git \ 
     && rm -rf /var/cache/apk/* 

ARG app_env 
ENV APP_ENV $app_env 

COPY . /go/src/myproject/api 
WORKDIR /go/src/myproject/api 


CMD if [ ${APP_ENV} = prod ]; \ 
    then \ 
    ./; \ 
    else \ 
    go get github.com/pilu/fresh && \ 
    fresh; \ 
    fi 


EXPOSE 8080 

これを解決する方法上の任意のアイデア?

+0

:。

はこのような何かを試してみてください。何をしたいのですか? – JimB

+0

が行くディレクトリ – user3226932

+0

このチュートリアルに従うことをしようとしていた構築https://medium.com/statuscode/golang-docker-for-development-and-production-ce3ad4e69673 – user3226932

答えて

1

デフォルトの実行可能ファイルとして結果のバイナリを使用するように、CMDで、あなたの囲碁プログラムを構築し、ドッカーを伝える必要があります。あなたは `ディレクトリを実行することはできません/`

From golang:1.8.3-alpine3.6 

RUN apk update && \ 
    apk add \ 
     bash \ 
     build-base \ 
     curl \ 
     make \ 
     git \ 
     && rm -rf /var/cache/apk/* 

ARG app_env 
ENV APP_ENV $app_env 

COPY . /go/src/myproject/api 
WORKDIR /go/src/myproject/api 

RUN go get ./ 
RUN go build 

CMD if [ ${APP_ENV} = prod ]; \ 
    then \ 
    api; \ 
    else \ 
    go get github.com/pilu/fresh && \ 
    fresh; \ 
    fi 


EXPOSE 8080 
関連する問題