今回は、Dockerの基本的な使い方を学習しました。
私の中で超話題のかめ@usdatascientistさんの「米国AI開発者がゼロから教えるDocker講座」をUdemyで受講しています。
とても分かりやすく解説いただけますし、ハンズオン形式で講座が進むので、まさに「手で覚える」ことができるので、おすすめです!
今回は、セクション4の「Dockerを使ってみる。」を受講しました。
Dockerのインストールについては、以下もご参照ください。
Dockerを使ってみる
1.hello-worldをpullする
まずは、プログラミングの最初といったらお決まりの「hello world」です。
環境構築で「hello world」ってどういうことだろうと思ったら、なんと「」と文字列を出力するだけのために、OSインストールから、開発環境、そして文字列出力の実行までワンセットになった環境が用意されていました。
こんな贅沢なことができるのもDockerならではですね。
では、順に実行していきます。
以下のコマンドを実行するとUsernameとPasswordを聞かれるので、DockerHubで登録したアカウントのUsernameとPasswordを入力します。
(なお、DockerHubのアカウント登録は、こちら→Docker Hub)
docker login
次に、以下のコマンドを実行して、DockerHubからhello-worldというDocker imageをダウンロード(pull)します。
Pull completeと出力されれば完了です。
docker pull hello-world
Docker imagesを実行することで、これまでのPullできたイメージの一覧を確認することができます。
docker images
「REPOSITORY」は、そのDocker imageの名前になります。
「TAG」は、バージョンになりますlatestは最新版を表していて、特に何も指定せずPullした場合は、最新版となります。
「IMAGE ID」は、このイメージのIDとなります。
「CREATED」は、このイメージがいつ作成されたか、「SIZE」は、このイメージの容量になります。
2.hello-worldのコンテナを作ってみる
今度は、先ほどPullしてきたDocker imageからコンテナを作ってみます。
このコンテナが環境の実体となります。
実体を作るためには、以下のコマンドを実行します。
docker run hello-world
実行すると以下の通り「Hello from Docker!」と表示された後、表示されるまでに実行されたステップなどが表示されます。
そして、このコンテナは、文字を出力だけ行って、終了します。
現在、立ち上がっているコンテナを確認するためには、以下のコマンドを実行します。
docker ps
ただし、先ほどの「hello-world」のコンテナは、実行後終了してしまうので、上記コマンドを実行しただけでは、表示されません。
過去に実行されたコンテナを含めて表示させるには、以下のとおり「-a」オプションを付けて実行します。
こうすることで、コンテナの一覧を表示することができます。
「STATUS」が、Exitedとなっているのが、実行後、すでに終了していることを表しています。
今回は、単純に「Hello from Docker!」と文字列を表示させるだけの環境を構築いたしました。
この環境を構築するためには、本来であれば、OSインストール、プログラムの実行環境の構築、文字列を出力するためのプログラムなどなどを全て実施する必要があるのですが、Dockerを使えば、ほんの数行コマンドを打つだけで、実現可能でした。
たった数行で、Dockerの凄さを実感させられました。
今回受講している「米国AI開発者がゼロから教えるDocker講座」では、もっと詳しくわかりやすくご説明いただけているので、ほんとうに良い勉強になります。
今後も、継続して受講して、Dockerを使いこなせるようになりたいと思います!
【過去記事】
2019年8月31日(土)にE資格を受験して、合格しました!
E資格対策として勉強の進め方や、参考書などをまとめました。
これから受験される方がいらっしゃいましたらご参考まで。
2019年3月9日(土)にG検定を受験し、見事合格できました!
受験の体験記や勉強法などを別のブログにまとめました。
これから受験される方がいらっしゃいましたらご参考まで。
【E資格対策に使った参考書】
- 人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書) [ 松尾豊 ]
- 深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト (EXAMPRESS) [ 一般社団法人日本ディープラーニング協会 ]
- 徹底攻略ディープラーニングG検定ジェネラリスト問題集 [ 明松真司 ]
- 実践機械学習システム [ ウィリ・リチャート ]
- アルゴリズムクイックリファレンス 第2版 [ George T. Heineman ]
- 深層学習【電子書籍】[ 岩澤 有祐 ]
- 入門Python 3 [ ビル・ルバノビック ]
- PythonによるWebスクレイピング 第2版 [ Ryan Mitchell ]
- Think Stats第2版 プログラマのための統計入門 [ アレン・B.ダウニー ]
- 集合知プログラミング [ トビー・セガラン ]
- ITエンジニアのための機械学習理論入門 [ 中井悦司 ]