Dev Environment の作成

Dev Environment は、以下より作成できます:

  • Git リポジトリ

  • Git リポジトリのブランチやタグ

  • Git リポジトリのサブフォルダ

  • ローカルフォルダ

これは、ホスト上にセットアップされたローカルファイルやローカルツールと競合しません。

Git リポジトリから Dev Environment を作成

Dev Environments を始めるのに最も簡単な方法は、作業しているプロジェクトの Git リポジトリをクローンし、新しい環境を作成します。

例として、 Docker Samples GitHub リポジトリにあるシンプルな single-dev-env プロジェクトを使って、新しい Dev Environment を作成します。

注釈

SSH を使って Git リポジトリをクローンする場合、自分の SSH 鍵を ssh-agent に追加する必要があります。そのためには、ターミナルを開き ssh-add <path to your private ssh key> を実行します。

重要

Docker Desktop for Windows で WSL 2 統合を有効化している場合、 WSL 2 ディストリビューション内で SSH エージェントが実行中かどうか確認してください。

  • WSL2 内で SSH エージェントを起動する方法:

    WSL 2 ディストリビューションが ssh-agent を実行していなければ、自分の profile ファイル(これは ~/.profile や ~/.zshrc 等)の最後に、以下のスクリプトを追加します。

    SSH_ENV="$HOME/.ssh/agent-environment"
    function start_agent {
        echo "Initialising new SSH agent..."
        /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
        echo succeeded
        chmod 600 "${SSH_ENV}"
        . "${SSH_ENV}" > /dev/null
    }
    # Source SSH settings, if applicable
    if [ -f "${SSH_ENV}" ]; then
        . "${SSH_ENV}" > /dev/null
        ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
            start_agent;
        }
    else
        start_agent;
    fi
    

Dev Environment を作成するには:

  1. Docker ダッシュボードの Dev Environments 以下 から Create をクリックします。 Create a Dev Environment ダイアログが表示されます。

  1. Get Stated をクリックし、 https://github.com/dockersamples/single-dev-env.git をコピーし、それを Existing Dev EnvironmentEnter the Git Repository フィールドに追加します。

  1. Continue をクリックします。

    これでリポジトリの主な言語を検出し、ボリューム内の Git コードをクローンし、Dev Environment に適したイメージを決定し、 Dev Environment コンテナ内で VS Code を開きます。

  1. 開始するには、コンテナの上にマウスカーソルを移動し、 Open in VS Code を選びます。 VS Code 内でもターミナルを開き、 Git を使ってリポジトリとのコードの push や pull をしたり、通常の作業のようにブランチ間を切り替えられます。

  1. アプリケーションを起動するには、ターミナル内で make run コマンドを実行します。これはポート 8080 上に http サーバを開きます。実行中のアプリケーションをみるには、ブラウザで http://localhost:8080 を開きます。

ブランチやタグを指定して Dev Environment を作成

ブランチの指定(例:Pull Request を送るために適切なブランチ)やタグを指定して Dev Environment を作成するには、Git URL の末尾に @mybranch@tag を追加して指定できます。

https://github.com/dockersamples/single-dev-env@mybranch

または

git@github.com:dockersamples/single-dev-env.git@mybranch

Docker は指定したブランチやタグでリポジトリをクローンします。

Git リポジトリのサブディレクトリから Dev Environment を作成

注釈

現時点では、 Dev Environment はサブディレクトリの主な言語を検出できません。自分のベースイメージか、サブディレクトリ内の .docker フォルダ内にある compose ファイルで定義する必要があります。設定の仕方についての詳しい情報は、 React application with a Spring backend and a MySQL database sampleGo server with an Nginx proxy and a Postgres database sample をご覧ください。

  1. Docker ダッシュボードの Dev Environments 以下 から Create をクリックします。 Create a Dev Environment ダイアログが表示されます。

  1. Get Stated をクリックし、自分の Git サブフォルダへのリンクをコピーし、それを Existing Dev EnvironmentEnter the Git Repository フィールドに追加します。

  1. Continue をクリックします。

    これでリポジトリの主な言語を検出し、ボリューム内の Git コードをクローンし、Dev Environment に適したイメージを決定し、 Dev Environment コンテナ内で VS Code を開きます。

  1. 開始するには、コンテナの上にマウスカーソルを移動し、 Open in VS Code を選びます。 VS Code 内でもターミナルを開き、 Git を使ってリポジトリとのコードの push や pull をしたり、通常の作業のようにブランチ間を切り替えられます。

  1. アプリケーションを起動するには、ターミナル内で make run コマンドを実行します。これはポート 8080 上に http サーバを開きます。実行中のアプリケーションをみるには、ブラウザで http://localhost:8080 を開きます。

ローカルフォルダから Dev Environment を作成

  1. Docker ダッシュボードの Dev Environments 以下 から Create をクリックします。 Create a Dev Environment ダイアログが表示されます。

  1. Get Stated をクリックし、 Local Folder タブをクリックします。

  1. Select directory で作業対象としたいコードのルートを開きます。

  1. Continue をクリックします。

    これはローカルフォルダ内の主な言語を検出し、ローカルフォルダを使って Dev Environment を作成します。それから、 Dev Environment 内にローカルコードをバインド マウントします。それから、 Dev Environment コンテナ内で VS Code が開きます。

注釈

Dev Environment にローカルフォルダを使う場合、自分の Dev Environment コンテナとローカルファイル間でのファイル変更は同期します。これはコンテナ内のパフォーマンスに影響を与える可能性があり、ローカルフォルダ内のファイル数や、コンテナ内で処理する操作に依存します。