会社でGCPを使っていて、いろいろ勉強しなければなりません。恥ずかしい内容ですが、備忘録として残しておきます。将来、GCPでデータ処理、データ蓄積をしたいなー、とも思っています。自宅でWindowsノートPCでTutorial 動かしました。
Windowsの設定: Hyper-V をONにする
- 「Windowsの機能の有効化または無効化」で Hyper-V をONにして、再起動する。
- 「Windows 管理ツール」から「Hyper-V マネージャー」を起動してみる。(今回は関係ないですが、仮想マシンはまだ何もありません。)
Docker Desktop for Windows を使ってみる。
-
Docker Hubで登録してからダウンロード。
Downlaod Docker Desktop for Windows のボタンを押して指示に従っただけですが、CUIのdockerのツール一式がインストールされたようです。 -
以下はtutorial をフォローしただけ。Power Shell で動かしました。
git clone https://github.com/docker/doodle.git
./doodle/cheers2019 というディレクトリで、build して、ローカルで動かします。build してできるものはイメージと呼ばれるようです。ソースコードはGO lang で書かれていました。xxxxxはIDで、-t <イメージ名> です。
> docker build -t xxxxx/cheers2019 .
build する/イメージを作る(docker build)
build の設定は、同じディレクトリにあるDockerfile に書かれているものが読まれます。読んでもよく分かりません。
FROM golang:1.11-alpine AS builder
RUN apk add --no-cache git
RUN go get github.com/pdevine/go-asciisprite
WORKDIR /project
COPY cheers.go .
RUN CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o cheers cheers.go
FROM scratch
COPY --from=builder /project/cheers /cheers
ENTRYPOINT ["/cheers"]
ローカルで動かす (docker run)
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Run a command in a new container
ローカルで動かします。-i はコンテナの標準入力、-tはtty を利用するオプションだそうです。--rm はコンテナ終了時にコンテナ自動的に削除します。
> docker run -it --rm xxxxx/cheers2019
イメージを共有できるようにする (docker push)
Docker Hub registry にpush(shipする?)し、共有できるようです。
> docker login; docker push xxxxx/cheers2019
サンプルには他にsummer2019, halloween2019, birthday2019があり、全て同じような内容なようでした。。。
-
CUI の使い方はここにドキュメントがありました。
-
振り返ってみるとCUIではログインや認証に関する操作をしませんでした。多分、Docker Desktop for Windows が全て良きにはかってくれたのだと思います。
-
Google Cloud Platform で動かしてみるのが、次のステップなのだが。
-
参考にさせていただきました。ありがとうございます。
-
docker run -itでDockerコンテナの中にはいる
- docker runの--rmオプション(コンテナ終了時にコンテナ自動的に削除)べんりです