Dockerコンテナでbashを使う方法

IT・プログラミング

Dockerコンテナ内でbashを使用する理由

Dockerコンテナを操作する際に、bashシェルを使うことで、コンテナ内の環境を直接確認したり、必要なコマンドを実行することができます。

今回は、そんなbashをDockerで使えるようにする方法を紹介していきます。

UbuntuベースのDockerイメージを使用してbashを実行する

Ubuntuベースのコンテナでは、bashが標準でインストールされていることが多いので、bashシェルを使うと操作がしやすくなります。

まず、UbuntuのDockerイメージを使用してbashを起動します。Dockerのrunコマンドを使って、Ubuntuコンテナを起動し、bashシェルを開く方法を説明します。

docker run -it ubuntu bash

このコマンドでは、-itオプションが指定されています。 -itをつけない場合は、すぐにDockerコンテナがExitになってしまいます。

  • -i:標準入力を保持してインタラクティブなセッションを作成します。
  • -t:疑似ターミナル(tty)を割り当てます。

このコマンドを実行すると、Ubuntuベースの新しいコンテナが起動し、bashシェルにアクセスできます。

例えばこのようになります。

ubuntuのImageは最初にbashコマンドを実行することになっているので、最後のbashを記述しなくても同じようにbashが立ち上がります。

docker run -it ubuntu

ちなみに-iだけの場合は、
入力はできるものの、形式が整わない形になり、

-tだけの場合は、見た目はターミナルになりますが、操作ができなくなります。

既存のDockerコンテナでbashを使用する

既に起動しているコンテナにbashでアクセスする場合、execコマンドを使います。このコマンドは、実行中のコンテナに対して新しいプロセスを追加で実行します。

docker exec -it コンテナ名 bash

たとえば、mycontainerという名前のコンテナが実行中であれば、次のようにbashを起動できます。

docker exec -it mycontainer bash

これにより、コンテナ内のbashシェルにアクセスし、インタラクティブに操作が可能になります。

Dockerコンテナでのbashの終了方法

コンテナ内での操作が完了したら、exitコマンドを実行することでbashを終了できます。

exit

これにより、bashシェルを閉じ、コンテナのセッションが終了します。コンテナ自体が終了するかどうかは、docker runで使用したオプションやコンテナの状態によって変わります。

最後に

Dockerでbashを使うことで、コンテナ内の環境を直接操作できるため、デバッグや設定作業が効率的になります。特に、Ubuntuなどの一般的なOSイメージでは、bashがデフォルトで利用可能で、スムーズに作業を進められます。

タイトルとURLをコピーしました