8
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Dockerのコンテナ内に入る!でもなんで入れるの?

Last updated at Posted at 2022-01-06

はじめに

Docker環境を構築した際にrailsコマンドやphp artisanコマンドを使用したかったり、MySQLなどを操作したいときに、起動済みのコンテナに接続するケースがあると思います。

正確なコマンドをよく忘れてしまうので、メモとして残します。

docker execコマンド

$ docker exec -it コンテナ名 bash

コンテナ名を指定するとコンテナ内部に入ることができる。

やったね!

でもなんでこれでコンテナ内部に入れるの???
普段無意識に使ってたから気になる。

折角なので、コマンドについてもう少し調べてみた。

こちらの記事によると、docker execコマンドは
実行中のコンテナ環境内で、指定したコマンドを実行してくれるものとのこと。
docker execコマンドの使い方(実例で解説)

さらに以下の記事から引用させていただくと、
オプション-itを指定することで..........

-iは、Keep STDIN open even if not attached
標準入力を開き続ける。

-tは、Allocate a pseudo-TTY
疑似ttyを割りあてる。

標準入力を開き続け、そこを操作出来るようにする。
→手元の環境で、docker内入力ができるようにする

ということになるらしい。

??????????
擬似ttyって何???????ってなった。

いまいち全容を掴むことができなかった。これ以上は話の大筋から逸れそうなので続ける。

要は-itオプションを指定したdocker execコマンドは
実行中コンテナ内部でshellを起動するコマンドとなり、手元の環境でコンテナ内に入力ができるようになる!ということらしい..........

ちゃんと調べよう............

引用元:docker exec -itって実際は何をしてるの?【90日目】

コンテナ情報出力

ちなみにコンテナ名は以下で確認できます。

$ docker ps -a

docker-composeコマンド

以下のコマンドでは、それぞれdbとappのコンテナに入ることができます。
普段はこっちを使う方が多かった。

$ docker-compose exec db bash
$ docker-compose exec app bash

参考サイト:docker-compose exec

参考記事

Docker exec -it とは
任意のDockerコンテナ上でbashを起動する

8
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?