eyecatch thumbnail

Docker for Mac のインストール方法

Profile picture
ルッチ / Lucci
2020.08.10

Contents


はじめに

docker for MacOS のインストール方法の紹介です.

情報源は Install Docker Desktop on Mac です.

Docker ID で Sign In する

Download from Docker Hub にアクセスして Docker ID を作成して / 使用して Docker Hub にログインします。

Get Stated!

Docker Hub にログインしたら、Get started with Docker Desktop をクリックします。

Docker Desktop for Mac をダウンロードしてアプリを起動する

Download Docker Desktop for Mac をクリックして、Docker Desktop をダウンロードします。

ダウンロードした Docker.dmg ダブルクリック or ⌘ + ↓ で起動します。

起動させたら、Docker アプリを Application にドラッグアンドドロップしてください。

Application を開いて、Docker アプリを起動します。

メニューバーに Docker のアイコンが表示されるので、そのアイコンをクリックし、Sign In してください。

Sign In まで終わったら、docker hub に戻って、Next Step をクリックしてください。

doodle を git clone する

続いて、docker リポジトリをクローンします。

ホームディレクトリ、もしくは任意の作業用ディレクトリに移動して、以下のコマンドを実行します。

git clone https://github.com/docker/doodle.git

以下のログが出力されれば成功です。

Cloning into 'doodle'...
remote: Enumerating objects: 73, done.
remote: Total 73 (delta 0), reused 0 (delta 0), pack-reused 73
Unpacking objects: 100% (73/73), done.

docker hub に戻り Next Step をクリックしてください。

docker build で docker コンテナをビルドする

必要な材料が揃ったので、docker をビルドしてみましょう。

以下のコマンドを実行してください。実行する前に、${DockerId} はあなたの Docker ID に変更してください。

cd doodle/cheers2019 && docker build -t ${DockerId}/cheers2019 .

以下のようなログが出力されれば OK です。

Sending build context to Docker daemon   12.8kB
Step 1/9 : FROM golang:1.11-alpine AS builder
1.11-alpine: Pulling from library/golang
9d48c3bd43c5: Pull complete
7f94eaf8af20: Pull complete
9fe9984849c1: Pull complete
ec448270508e: Pull complete
65ba82af53f7: Pull complete
Digest: sha256:09e47edb668c2cac8c0bbce113f2f72c97b1555d70546dff569c8b9b27fcebd3
Status: Downloaded newer image for golang:1.11-alpine
 ---> e116d2efa2ab
Step 2/9 : RUN apk add --no-cache git
 ---> Running in 44133f7055a5
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz
(1/5) Installing nghttp2-libs (1.39.2-r0)
(2/5) Installing libcurl (7.66.0-r0)
(3/5) Installing expat (2.2.8-r0)
(4/5) Installing pcre2 (10.33-r0)
(5/5) Installing git (2.22.2-r0)
Executing busybox-1.30.1-r2.trigger
OK: 21 MiB in 20 packages
Removing intermediate container 44133f7055a5
 ---> d7d12967fed7
Step 3/9 : RUN go get github.com/pdevine/go-asciisprite
 ---> Running in 08a112037a4c
Removing intermediate container 08a112037a4c
 ---> 0096137d27fa
Step 4/9 : WORKDIR /project
 ---> Running in c03275c143d9
Removing intermediate container c03275c143d9
 ---> 28eb1080816e
Step 5/9 : COPY cheers.go .
 ---> 693ea2999105
Step 6/9 : RUN CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o cheers cheers.go
 ---> Running in 5a2551c9c2ed
Removing intermediate container 5a2551c9c2ed
 ---> 0b89764faab6
Step 7/9 : FROM scratch
 --->
Step 8/9 : COPY --from=builder /project/cheers /cheers
 ---> 6a3e8915df08
Step 9/9 : ENTRYPOINT ["/cheers"]
 ---> Running in 447424a3ae2c
Removing intermediate container 447424a3ae2c
 ---> 20e9577e7178
Successfully built 20e9577e7178
Successfully tagged typememo/cheers2019:latest

エラー対策 docker コマンドが見つかりませんと言われた場合

もしも以下のようなログが出力された場合は、Docker アプリを起動してから、doodle リポジトリをクリーンしたディレクトリに移動して、同じコマンドを実行すればうまくいきます。docker コマンドへのパスが通っていないだけだと思いますので.

zsh: command not found: docker

docker run で docker コンテナを起動する

docker のビルドが終わったので、docker コンテナを起動してみましょう。

そのために、以下のコマンドを実行してください。

${DockerId} は書き換えてください。

docker run -it --rm ${DockerId}/cheers2019

以下のようなログが出力されれば、コンテナの起動は成功です。

                                                                     ,---,
                                                                  ,`--.' |
     ,----..    ,---,                                             |   :  :
    /   /   \ ,--.' |                              ##     .  .    '   '  ;
   |   :     :|  |  :                        ##_## ##.      ==    |   |  |
   .   |  ;. /:  :  ,                     ## ## ##/##|  .--===.   '   :  ;
   .   ; /--` :  |  |,--.   ,---.     /""""""""""""""""\___/ ===  |   |  '
   ;   | ;    |  :  '   |  / ________{                      /`.==='   :  |
   |   : |  __....::::::::::''''''' / \______ o          __/....__;   |  ;
   .   | .:'::.  :  | | |.    ' / |.    \    \        __/ \    .::':.-'. |
   '   ; :':.|':::::.___.____,_________________,:_._____..:::::' ,'`--..`;
   '   | '/ ':.  : '::::::::::::::::::::::::::::::::::o::'/`--': '.--,_
   |   :    / ':.| ,'    |   :    ||   :    | ---'    '--'.  .:'/ |    |`.
    \   \ .'  `-':.       \   \  /  \   \  /            `--.:'-'  `-- -`, ;
     `---`        '.       `----'    `----'       o       .'        '---`"
                    '-._                              _.-'
                        '- .._                 _.. -'
                              ''' - .,.,. - '''
                                   (:' .:)
                                    :| '|
                                    |. ||
                                    || :|
                                    :| |'
                                    || :|
                                    '| ||
                                    |: ':
                                    || :|
                              __..--:| |'--..__
                        _...-'  _.' |' :| '.__ '-..._
                      / -  ..---    '''''   ---...  _ \
                      \  _____  ..--   --..     ____  /
                       '-----....._________.....-----'


                             Press 'ESC' to quit.

ESC キーを押下して終了させましょう。

docker push で docker コンテナを公開する

作成した docker コンテナを世界中の人に使ってもらえるようにしてみましょう。

そのためには以下のように docker login コマンドと docker push コマンドを実行します。

docker login && docker push ${DockerId}/cheers2019

以下のようなログが出力されれば成功です。

Authenticating with existing credentials...
Login Succeeded
The push refers to repository [docker.io/typememo/cheers2019]
ceedec3d242f: Pushed
latest: digest: sha256:df1f655cfbc7f22cf48f1c49294ef81b0a49b9caea0094947660070fc2cd94dd size: 528

docker hub で docker コンテナを確認する

View my repository をクリックすれば、先ほど docker push した docker コンテナを確認できます。

おわりに

自分の勉強不足で用語の説明まではできませんでした。できれば,追って、加筆 / 修正 したいと思っています。

最後までお読みいただきありがとうございました.

References

愛用品

  • Xiser Pro Trainer
    1日中踏み続けられる強靭なステッパーでおすすめです.
  • HHKB Professional 墨 x HHKB キートップセット 白
    ボディは墨色キートップは白色なのでめちゃめちゃ目に優しいのでおすすめです.
  • Apple Magic Mouse 2
    トラックパッドは指が攣りそうになりますけどマウスはその心配が無いのでおすすめです.
  • Apple MacMini
    ミニマルでパワフルなデスクトップ PC なので個人的に大好きなのでおすすめです.
  • iiyama Display 27inch FullHD
    鮮明すぎない画面で目も疲れにくいですし何より高さ調節できるのが最高なのでおすすめです.
  • KINTO UNITEA 550ml
    500ml の大容量でこの綺麗なデザインは他にみたことがないのでおすすめです.

関連記事


大学生へのお知らせ

ここまで記事を読んでくれて本当に嬉しいです、ありがとうございます。

プログラミングを始めたばかりの頃って「やるぞ!」という気持ちは強めですが、 実際に取り組み始めると「何からどうやってどこまでやればいんだ?」 という感じで羅針盤を失うことが多いような気がします。(実体験)

そんな勉強熱心で向上心高めなんだけど目指す姿が曖昧な大学生の方に感謝の意も込めて、就職活動までサポートするプログラミングスクール「レバテックカレッジ」を紹介します。↓

Levtech-college

「自走力」のあるエンジニアを最短3ヶ月で目指せるカリキュラムが月額30,000円で用意されていて、 現段階の「目指す姿が曖昧で何から手をつければいいかわからない状態」から脱却できます。

自分は実際にIT企業で働いていますが、「自走力」のあるエンジニアの方にはいつも助けられています。

なので、目指す姿が曖昧な人はとりあえずレバテックカレッジが導いてくれる 「自走力のあるエンジニア」を目指してみるのはスタートダッシュとしてはアリです。

レベルアップしてからジョブチェンするのはRPGでも常套手段ですし、 レバテックカレッジで一通りのスキルを習得してから自分の目指す姿を再定義するといいかもです。

「自走力のあるエンジニア」って実際どんなエンジニアなの? 何から手をつければいいかわからないから教えて欲しい、 という人は上のテキストリンク/画像リンクから「無料相談会」への申し込みをお願いします。

よきエンジニアライフを!