menu

Dockerのコマンドおさらい

公開日:2019年05月29日 カテゴリー:Docker, インフラ, 開発

ウィズテクノロジー技術ブログ、今回はDockerコマンドについてです。

便利だけど、把握するのが大変なこのコマンドをおさらい形式でまとめてみました。

 

はじめに

最近では業務でも、開発環境に Docker を使うことが増えてきました。

Docker を上手く使えば、端末で環境をすぐに差分なく再現出来るので、チームで開発することの助けになります。

そんな Docker のコマンドですが、割と多くて把握するのが大変です。

この記事では、それらのコマンドを順に実行して行っておさらいしていきます。

イメージの取得と確認

Docker では、イメージというものからコンテナを作成します。

イメージから、実際の動作環境となるコンテナを作成し、その上でアプリケーションを実行します。

このようにイメージとコンテナの関係は、ある意味でプログラムとプロセスの関係に似ています。

このセクションでは、イメージの検索、取得、確認を行います。

  • docker search
  • docker pull
  • docker images

イメージの検索

Docker のイメージは、Docker Hub などのレジストリで公開・配布されているものが多いです。

ちょうどソースコードが GitHub で公開・配布されるのと似ています。

Docker Hub でイメージを検索するためには、docker searchコマンドを使います。

以下で、centos のイメージを検索します。

$docker search centos

すると、以下のようにコンソール出力されます。

イメージの取得

先ほど、docker searchcentosというイメージがあることがわかりました。

今度は、このイメージをダウンロードします。

$docker pull centos

イメージの確認

ちゃんとダウンロード出来たか、イメージの一覧を表示して確認します。

$ docker images

以下のようにコンソール出力されると思います。

centos のリポジトリーのイメージがあることがわかります。

コンテナの起動と確認、停止、削除

Docker では、実行される環境として、コンテナを使います。

すでに centos のイメージがあるので、これからコンテナを作ってみます。

  • docker run
  • docker ps
  • docker attach
  • docker exec
  • docker logs
  • docker stop
  • docker kill
  • docker start

コンテナの起動

コンテナを起動して、その実行環境で画面にHello Dockerと出力させています。

$ docker run centos echo "Hello Docker"

あとで利用しますが、バックグラウンドで起動する場合には-dオプションをつけます。

コンテナの一覧を表示

稼働中のコンテナの一覧は、以下のコマンドで表示できます。

停止中の コンテナも含めたコンテナの 一覧は、-aオプションで表示できます。

上を 実行すると、先ほど起動したコンテナも表示されます。

起動中のコンテナに接続

docker attachで、起動中のコンテナに接続できます。

接続するためには、起動中のコンテナが必要なので、デタッチモードでコンテナを起動します。

すると、以下のようなコンテナのIDが出力されます。

コンテナのIDを使って、起動中のコンテナに接続してみましょう。

CONTAINERの部分をコンテナのIDにしてください。

コンテナとの接続を解除するためには、CTRL + p + qを使います。

コンテナから抜けると同時にコンテナを停止する場合、CTRL + 1またはexitが使えます。

コンテナで追加プロセスを実行

次は、起動中のコンテナでシェルのプロセスを実行してみます。

以下のようにすれば、バッシュのシェルにログインできると思います。

通常のターミナルのように、exitで抜けることができます。

コンテナのログを表示

以下でコンテナが作成されてからの標準出力が表示されます。

コンテナの詳細を確認

以下でコンテナの状態が確認できます。

コンテナを停止する。

docker stopdocker killはどちらもコンテナを停止させるコマンドです。

docker stopはメインのコンテナプロセスにSIGTERMを送信、一定時間後にSIGKILLを送信します。

docker killは、メインのコンテナプロセスにSIGKILLを直ちに送信します。

コンテナを再起動

停止したコンテナを再起動するには、以下のコマンドを使います。

コンテナの削除

作成したコンテナは、以下で削除できます。

まとめ

一通り、Dockerのコマンドをおさらいしましたが、これはまだ一部です。

興味があれば、公式ドキュメントを参照ください。

 

最後までお読みくださり、ありがとうございました。

 

☆☆☆ 新しいことにチャレンジしたい!仲間と一緒に成長したい!やりがいのある仕事で充実した毎日を過ごしたい!そんな熱意をお持ちの方、私たちと一緒に働きませんか?ウィズテクノロジーでは一緒に働いていただけるエンジニアを大阪・東京で募集しています。☆☆☆