Dockerでよく使うあのコマンドを調べました

よく忘れちゃうのでメモとして。

前回 「ターミナルで良く使っているコマンドについて調べてみた」で、よく使っているコマンドの順位付けをおこなったので、そのワンライナーを基にDockerのサブコマンド使用頻度の順位を調べてみました。

history | grep docker | sed -E 's/^[ ]*//g' | sed -E 's/ +/ /g' | cut -d' ' -f2 -f3 -f4 | sort | uniq -c | sort -nr | head -n 10 | nl -w 2

結果はこうです。

順位 コマンド
1 docker run -it
2 docker exec -it
3 docker images
4 docker-compose -f docker-compose.dev.yml
5 docker build –rm
6 docker build -t
7 docker-compose run chat
8 docker-compose run –rm
9 docker ps -a

docker runが一位ですね。
コンテナを作って動かす、docker create + docker execです。
使い方はこんな感じです。

$ docker run -it yousan/dnsmasq:1.6-local /bin/sh

/bin/bash のところは、イメージによっては /bin/sh じゃないと通らないかもです。
動かしているコンテナで新たにコマンドを実行する、ですね。

2位は docker exec でした。
起動中コンテナに対してコマンドを実行してもらう、です。

$ docker exec -it php.test /bin/bash

3位はdocker imagesです。
手元に持っているイメージ一覧を取得です。

$ docker images

不要な(参照されていない)イメージを取得するには --filter "dangling=true"を使うといいです。

$ docker images --filter "dangling=true"

不要なイメージ削除rmiと組み合わせてこんな感じですね。

$ docker rmi $(docker images --filter "dangling=true" -q)

ビルド後とかに「ちゃんとビルドできてるかなぁ…」とか、「ここ数日でビルドしたイメージってなんて名前だっけ」という場合に使えます。
デフォルトだと横がはみ出しちゃったりして二行になるので、出力フォーマットを自分で変えると良い感じになります。

$ docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.CreatedSince}}" | head

4位、5位に別れちゃったんですが、docker buildです
引数は-tでタグ名、最後の引数でDockerfileがあるディレクトリを入れます。

$ docker build -t yousan/php:1.6.1-php7.2-fpm-alpine .

イメージを削除しながらビルドし直す場合には--rmオプションを付けると良いです。 

$ docker build --rm ./ -t yousan/nginx-unit

こんな感じでした。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする