DockerをWindowsノートPCで触ってみた
会社で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 で動かしてみるのが、次のステップなのだが。
-
参考にさせていただきました。ありがとうございます。
Author And Source
この問題について(DockerをWindowsノートPCで触ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/XPT60/items/9bf6992af3975d5b5681著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .