0
0

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 exec -it [コンテナ名] bashコマンドの意味

Last updated at Posted at 2022-04-27

はじめに

Docker上でLaravelを使う度に打つコマンドでしたので調べてみました

execコマンド

execコマンドとは?

docker --helpをするとこう書いてあります

exec        Run a command in a running container

ある稼働中のコンテナにてあるコマンドを実行する

execコマンドの使い方

% docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

さて問題のコマンドを上の文脈で翻訳すると
◯◯◯コンテナにて△△△オプションの元bashコマンドを実行する

itオプション

これはiオプションtオプションに分けられます

iオプションとは

-i, --interactive          Keep STDIN open even if not attached

STDINって何?

標準入力 【standard input】 stdin

標準入力とはIT用語辞典曰く

コンピュータの入力装置やOSが提供するデータ入力機能・経路などを指す

つまりかなり大まかに言えばキーボードのことです
(この記事読むともっと理解が深まります)
直訳するなら
例えアタッチしてなくても標準入力は開き続けて

attachという新しい概念が出てきましたが、
これはexecではない方法でコンテナに入るもう1つのコマンドになります
今回はexecを調べることが主眼ですので違いが気になる方はこちらのQiitaを参照してみてください

僕なりの言葉でiオプションをまとめると
キーボード入力できるようにしといて

tオプションとは

-t, --tty                  Allocate a pseudo-TTY

"pseudo"とは「偽りの」という意味です

pseudo-TTYって何?
以下はIBMのDocumentationから引用

Pseudoterminals (pseudo-TTYs) are used by users and applications to gain access to the shell

これは「シェルにアクセスする時にユーザーやアプリケーションが使うもの」という風に翻訳できます
例えばMacユーザーの場合はターミナルのことです

ということは--helpの参照が返してくれた文章は
シェルにアクセスするための窓口を割り当てといて」みたいなイメージになります

ですので"-it"の2つのオプションをまとめると
キーボードの入力によってシェルを操作できるようにして

bashコマンド

このコマンドはbashを起動する時に使うもの
bashもコマンドなので、あれやこれやオプションをさらにつけることはできますが
ほとんどのケースでオプションは指定されないので今回は特に気にしなくてよいようです

まとめ

コンテナの中に入る時に使うコマンドが

% docker exec -it [コンテナ名] bash

でしたが、こちらは

コンテナに入る=コンテナでbashを起動しキーボードを元にシェルに命令を出せるように設定する

という意味になります

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?