Linux でヘッドレスブラウザーセットアップ用に Docker を構成する

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む3読むのに数分
  • ServiceNow® の ATF 用ヘッドレスブラウザーを Linux 用にセットアップするステップ 2:すべての要求を認証するように Docker サーバーを構成します。

    始める前に

    ステップ 1:Linux 用にヘッドレスブラウザーをセットアップするための証明書の生成 を完了します。

    必要なロール:自分の ServiceNow インスタンスの admin、およびホストマシンのローカル管理者。

    このタスクでは、ステップ 1 の指示に従ってクライアントキーとサーバーキーを作成した後、これらのキーを使用してすべての要求を認証し、ポート 2376 で Docker API を公開するように、Docker サーバーを構成します。

    手順

    1. ステップ 1 で生成した証明書を使用するように Docker を構成します。
      1. /etc/docker/daemon.json ファイルを検索または作成します。次を実行できます:touch /etc/docker/daemon.json
      2. daemon.json ファイルを編集し、次の JSON 値を追加します。自分の証明書への正しいパスに置き換えてください。
        {
        "debug": true,
        "tlscacert": "<path to your certificates>/ca.pem",
        "tlscert": "<path to your certificates>/server-cert.pem",
        "tlskey": "<path to your certificates>/server-key.pem",
        "tlsverify": true
        }
        
      詳細については、「Docker デーモンの構成 (Configure the Docker daemon)」を参照してください。
    2. ポートでリモート API を公開するように Docker を構成します (ポート 2376 を推奨)。
      最新バージョンの RedHat、CentOS、Ubuntu、SLE などの systemd を使用する Linux ディストリビューションでは、docker.service systemd ユニットファイルを使用してリモート接続を受け入れるように Docker を構成できます。また、daemon.json ファイルを使用してリモート接続を受け入れるようにも構成できますが、これは systemd を使用しない Linux ディストリビューションで推奨されます。

      systemd (systemctl) を使用する場合:

      1. sudo systemctl edit docker.service コマンドを使用して、docker.service の上書きファイルをテキストエディターで開きます。
      2. 次の行を追加または変更します。ポート 2376 を使用していない場合は、自分のポートで置き換えます。
        [Service]
        ExecStart=
        ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376
      3. ファイルを保存します。
      4. systemctl 構成を再ロードします。

        sudo systemctl daemon-reload

      5. Docker を再起動します。

        sudo systemctl restart docker.service

    3. 現在のユーザーがコマンドラインで Docker にアクセスできるようにするには、ユーザーの Docker ホームディレクトリに証明書をコピーします。
      • mkdir -pv ~/.docker
      • cp ca.pem ~/.docker
      • cp client-key.pem ~/.docker/key.pem
      • cp client-cert.pem ~/.docker/cert.pem
    4. ユーザーの DOCKER_HOST および DOCKER_TLS_VERIFY 環境変数を設定します。
      • echo "export DOCKER_HOST=tcp://${SERVERIP}:2376 DOCKER_TLS_VERIFY=1" >> ~/.bash_profile
      • source ~/.bash_profile

      詳細については、「非ルートユーザーとして Docker を管理 (Manage Docker as a non-root user)」を参照してください。