今回は、DockerでUbuntuのコンテナを起動し、ホストに戻ったり、再度コンテナにもどったりする、コンテナの操作方法を学習しました。
かめ@usdatascientistさんの「米国AI開発者がゼロから教えるDocker講座」をUdemyで受講しながら進めています。
とても分かりやすく解説いただけますし、ハンズオン形式で講座が進むので、まさに「手で覚える」ことができるので、おすすめです!
今回は、セクション4の「Dockerを使ってみる。」のうち、Ubuntuの環境構築について受講しました。
Dockerのインストールについては、以下もご参照ください。
DockerでUbuntuを使ってみる
1.UbuntuのDocker imageをrunする
まずは、UbuntuのDocker imageをrunしてコンテナを立ち上げます。
また、runする際に、シェル(bash)を実行できるようにします。
UbuntuのDocker imageが、ダウンロード(Pull)されていない場合は、以下の通り、docker pullも合わせて実行されてダウンロード後、コンテナが起動します。
前回の、’hello-world’とは、異なりbashを起動しているので、bashのプロンプトが表示されます。
「Pull complete」の右に表示されているランダムな英数字は、「image layer」というものを表していて、今回のDocker imageが4層のimage layerの層で構成されていることになります。
また、プロンプトの右に表示されているランダムな英数字(726e0cde1ac2)は、上記の4層に、今回、さらに上乗せするimage layerを表しています。
コンテナ上で作業を行うと、この上乗せしたimage layerを更新していくことになります。
2.Ubuntuのコンテナを更新する
今度は、先ほどのUbuntuのコンテナをに変更を加えて、新しいコンテナを作ります。
まずは、コンテナに変更を加えます。
具体的にはtouchコマンドを使って「text.txt」というファイルを作成するという変更を加えます。
ファイルを作成したらlsコマンドでファイルが作成されていることを確認します。
touch text.txt
ls
次に、exitコマンドを使って、コンテナを終了し、ホストに戻ります。
exit
コンテナを終了すると、ホストのコマンドプロンプトに戻ってきます。
ホストに戻ってきたらdocker psコマンドで、Ubuntuのコンテナを確認することができます。注意点としては、すでに終了させているので、-aオプションを付けて確認する必要がある点です。
docker ps -a
コマンドを実行すると、コンテナの状態が確認できます。
3.コンテナを再度起動する
先ほど終了させたUbuntuのコンテナを再度起動するためには、docker restartコマンドを実行します。再度起動するコンテナを指定するためには、docker ps -a コマンドで確認した「CONTAINER ID」を使います。
CONTAINER IDは、[726e0cde1ac2]だったので、以下の通り実行します。
docker restart 726e0cde1ac2
また、docker execコマンドを実行することで、立ち上げたコンテナのコマンドプロンプトに入れます。
docker exec -it 726e0cde1ac2 bash
これで、先ほどの、Ubuntuのコンテナに戻ってきました。
lsコマンドを実行すると、作成した「text.txt」が作成されていることが確認できます。
ls
最後にdetach(Ctrlキー+p+q)で、コンテナからホストに戻ります。
ホストに戻ったあと、docker ps -aで、状態を確認します。
exitコマンドでホストに戻った時と異なり、「STATUS」が、「Exited」にならず「Up」のままです。
また、exitコマンドと異なり、再度起動するためにdocker restartの実行が必要なく、docker attachコマンドを実行するだけで再度プロンプトに入れます。
docker attach 726e0cde1ac2
今回は、Dockerのコンテナを起動し、コンテナを更新後ホストに戻ったり、再度コンテナを起動したりできるようになりました。
また、exitとdetachの違いも学習することができました。
今回受講している「米国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エンジニアのための機械学習理論入門 [ 中井悦司 ]