Webサイト制作者必見!DockerのTips6選 | 千葉で集客ホームページ制作はティーエスフォート
コラム

Webサイト制作者必見!DockerのTips6選

Webサイト制作者必見!DockerのTips6選

今回の記事では、コンテナ仮想化を用いてアプリケーションを開発するためのオープンソースソフトウェアである、Dockerを使ったTipsをご紹介します。

Dockerを使うことで、簡単に開発環境を構築することができ、とても便利ですので、ぜひ活用してみましょう。

1.コンテナ実行後の自動削除

docker imagesコマンドを実行することで、Dockerイメージがどんどん増えていくのが分かります。

コンテナを作ってrunする度にコンテナが増えていくので、そのたびにコンテナを消すのも大変です。

動いているコンテナの確認するには下記のコマンドを実行します。
> docker ps


そして、停止しているコンテナの確認は以下で行うことができます。
> docker ps -a


コンテナを削除したい時は「--rm」パラメータを追加することで実行完了後に自動的にコンテナを破棄してくれます。
> docker run --rm -it test-image command

2.コンテナの一括削除

Dockerfileを書いていると不要なコンテナが大量にできることがあります。以下のコマンドで使用していないコンテナをまとめて削除することができます。

以下のコマンドで、起動しているcontainerの一覧が表示されます。
> docker ps


-aオプションで起動していないものを含むすべてのcontainerが表示され、-qオプションでcontainer IDのみ表示されます。
> sudo docker rm $(sudo docker ps -a -q)

3.イメージの一括削除

削除する前に以下のコマンドで存在しているイメージを確認することができます。
> docker images -a


一括削除を実行すると、オールゼロ化されてしまうのでコマンドを実行するときは注意しましょう。
> sudo docker rmi $(sudo docker images -q)


イメージ同士の依存関係はdocker images の --treeオプションを使うとわかりやすくてよいでしょう。
> sudo docker images --tree

4.Dockerイメージの検索

有名なライブラリの場合、公式のDockerイメージが公開されていたりします。Docker Hubで検索してみましょう。

例えば、mysqlのイメージを検索するには、以下のようにします。
> docker search mysql


応用例として、星が4つ以上で、公式のイメージのみを検索するには、以下のようにコマンドを入力します。
> docker search --filter "stars=4" --filter "is-official=true" mysql

5.複数コマンドを連続実行

RUNコマンドで複数のコマンド列を連続して実行する場合、a && bの形式を使うことが多いです。&&がついていることで、コマンドが連続していることの目印にもなります。

例:protobufをビルドする場合
RUN cd /root ¥
&& git clone --depth=1 -b release-0_12 --recursive https://github.com/grpc/grpc.git ¥
&& cd /root/grpc/third_party/protobuf ¥
&& ./autogen.sh ¥
&& ./configure --prefix="${INSTDIR_GRPC}" ¥
&& make -j ¥
&& make install

6.Dockerの情報を得る

docker infoコマンドは、物理サーバにインストールされているdockerシステム全体に関する情報を出力します。

細かな情報も出力されます。現状把握をするために利用可能な情報が含まれているかもしれませんので、システムトラブル発生時には有効です。
> docker info


いくつかの情報を紹介します。

Containers

存在する全コンテナ数、及び実行中、一時停止中、停止中の各々のコンテナ数が出力されます。



Images

存在する全てのイメージ数が出力されます。イメージ数には中間イメージも含まれます。



Storage Driver

Dockerで使用されるストレージドライバ名とその詳細情報が出力されます。

まとめ

今回のコラムでは、Dockerを使うにあたってのTIps6つをご紹介しました。

ご紹介した以外にもDockerは多くのコマンドを搭載していますので、作業効率を上げたいときには参考にしてみてください。

関連記事

ページ先頭へ