Docker - コンテナに接続し、コマンドを実行する

コンテナに接続(ログイン)するには、Docker Dashboard の コンテナ情報画面 から、Exec タブ を選択します。コマンドラインツール から接続するには、docker exec コマンド を使用します。

事前準備

Docker Dashboard から コンテナへ接続する方法

  1. Docker Dashboard を開き、画面左側のメニューから「Containers」を選択します。
    Docker Dashboard
    Docker Dashboard
    Docker Dashboard - Containers
    Docker Dashboard - Containers
  2. プロジェクト一覧から「>」アイコンをクリックし、接続したいコンテナを展開します。
    プロジェクト一覧開
    プロジェクト一覧開
    プロジェクト一覧 - コンテナの展開
    プロジェクト一覧 - コンテナの展開
  3. プロジェクト内のコンテナ一覧が表示されるので、接続したいコンテナのリンクを選択します。
    コンテナ一覧
    コンテナ一覧
    コンテナ一覧 - コンテナのリンク
    コンテナ一覧 - コンテナのリンク
  4. コンテナの情報画面が表示されたら、画面上部の「Exec」タブを選択します。
    コンテナ情報画面
    コンテナ情報画面
    Execタブ
    Execタブ
  5. プロンプトが表示されたら、任意のコマンドを入力し、エンターキーを押します。
    コマンド ls -la を入力
    コマンド ls -la を入力
    コマンド ls -la の実行後
    コマンド ls -la の実行後

コマンドラインツール から コンテナへ接続する方法

docker ps コマンドで コンテナID を調べ、docker exec コマンドで接続します。

事前準備

使用している OS に応じて コマンドラインツール を起動します。

コンテナのIDを調べる

  1. 起動したコマンドラインツールで以下のコマンドを入力し、Enterキーを押して実行します。
    docker ps
    
  2. CONTAINER ID 列に コンテナID が表示されるので、控えておきます。
    CONTAINER ID   IMAGE                                        COMMAND                   CREATED       STATUS       PORTS                    NAMES
    34f7b7256f27   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/perm…"   3 hours ago   Up 3 hours   0.0.0.0:1434->1433/tcp   curict-sqlserver2022
    
    コマンド docker ps
    コマンド docker ps

    表示されない場合はコンテナが起動していません。コンテナ起動してから再度コマンドを実行してください。次のコマンドを使用すると、起動していないコンテナも表示されます。

    docker ps -a
    

コンテナに接続する

次のコマンドを入力し、Enterキーを押して実行します。<シェルのパス> は、コンテナにインストールされている必要があります。
docker exec -it <コンテナID> <シェルのパス>

コマンドの例

sh(標準シェル)を使用する場合
docker exec -it 34f7b7256f27 sh

bashを使用する場合(※コンテナにインストールされている場合のみ)

docker exec -it 34f7b7256f27 bash
docker exec -it 34f7b7256f27 /bin/bash

コマンドの実行例

次の画像は Windows コマンドプロンプト を使用し、コンテナに接続しています。接続後に「ls -la」コマンドでコンテナ内のファイル一覧を表示しています。
コマンドプロンプト
コマンドプロンプト

コンテナから抜ける

次のコマンドを入力し、Enterキーを押して実行します。
exit

参考資料

検証環境