こんにちは私はかなり新しいです。ドッカーと一緒にアプリをコンテナにパッケージ化するのは初めてのことです。私はアプリがdirの下にあるlinux VMに取り組んでいます:/ home/core/app/app-name dir app-nameにはmain.goプログラムとDockerfileがあります。私はDIR /ホーム/コア/アプリ/アプリ名からランニング試してみましたドッカーにgoアプリをデプロイする際に問題が発生しました
FROM golang:latest
RUN mkdir /app
ADD . /home/core/app/app-name
WORKDIR /app/app-name
RUN go build -o main .
CMD ["/app/main"]
EXPOSE 8080
:
docker build -t app-image .
しかし、私はこのエラーを得た:
をロードすることはできませんDockerfileは、この含まれていパッケージ:パッケージ:ビルド不可/ app/stars-app内のソースファイルを移動 コマンド '/ bin/sh -c go build -o main。'ゼロ以外のコードを返しました:1
私は間違っていますか?
編集:
FROM golang:latest
Add . /app/app-name
EXPOSE 8080
CMD ["/app/app-name/main"]
して実行することにより: 私が得たがDockfileと私のWindowsマシン上でイメージを構築することができたとき、私
docker build -t star-image .
私は、画像を見ることができます「ドッカー画像」を実行しますが、実行しようとすると:
docker run -p 3000:8080 --name goapp --rm app-name
私はこのエラーを取得する:
docker: Error response from daemon: Container command '/app/app-name/main' not found or does not exist..
あなたは '/ホーム/コア/アプリ/アプリ-NAME'にすべてを追加しているが、あなたのWORKDIRは' /アプリ/アプリ-NAME'です。また、GOPATHを設定せず、ビルドするパッケージを指定しないでください。コンテナにアプリケーションを構築する場合は、[Go Codeを書く方法](https://golang.org/doc/code.html)の説明に従って適切な環境設定を行う必要があります – JimB
'/ app/app-name'の代わりに'/home/core/app/app-name'にファイルを入れてください。 CMD [/ app/app-name/main "]' – Plato
@Plato、私はそれを試みたが、私はまだ同じ出力。 –