以下はLaravelプロジェクトをDockerを使ってnginx
, Laravel
, mysql
の3つコンテナで立ち上げたときの様子。
92d7dbcf85dd sample_web "nginx -g 'daemon of…" 5 seconds ago Up 3 seconds 0.0.0.0:8000->80/tcp nginx
389ce68b90fb sample_laravel "docker-php-entrypoi…" 6 seconds ago Up 4 seconds 9000/tcp laravel
4c920ce5990f mysql:5.7 "docker-entrypoint.s…" 7 seconds ago Up 5 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
ここからsample_laravel
に入りたいときどう言うコマンドを叩きますか?
(1) $ docker exec -it laravel sh
とか
(2) $ docker exec -it 389ce68b90fb sh
を叩いている人も割と多いと思います。
(1)ではコンテナ名がlaravel
みたいな短い場合はまだ良いですがコンテナ構成が複雑になるとそれに従ってコンテナ名も複雑になってしまう。
(2)では長い上に法則性もなくもはやタイポしろと言っているようなものですね(笑)
コピペするにしてもキーボードから手を離すのが煩わしい🤔
###そんな皆さまは以下のコマンドでコンテナに入っちゃいましょう!
(3) $ docker exec -it 3 sh
たったこれだけです!遥かに楽!
これはが何をしているかと言うと
(2) $ docker exec -it 3(89ce68b90fb) sh
の(89ce68b90fb)
を省略。
つまり、コンテナIDを指定してdocker exec
を行う際にはコンテナを識別できれば
全桁入力する必要がないのです。
まあ上記は極端な例ですが(笑)
今回は3から始まるコンテナIDが割り振られたコンテナが他にないため
(3)でも問題ありませんでしたが実際はもっと多くのコンテナが立ち上がるかもしれないので
上位3桁くらいを入力したほうがスムーズに入れるのではないでしょうか!
以上知ってたら便利なDockerコンテナに入る小技でした!👏