keeper/guacamole-db-mysql

Keeper Connection Managerを使用したMySQLのDockerによるデプロイ

イメージ: keeper/guacamole-db-mysql

keeper/guacamole-db-mysqlは、MySQLをDocker化してデプロイしたもので、Dockerの公式MySQLイメージを基に構築されており、Apache Guacamoleデータベーススキーマで自動的に初期化されます。Keeper Connection Managerに含まれるパッケージを使用して構築され、同じEULAで利用できるようになっています。通常は、keeper/guacamoleイメージを使用して、コンテナ用のMySQLデータベースを作成するために使用します。

環境変数

公式のMySQLイメージがベースのため、以下に記載した環境変数に加えて、公式のDocker MySQLイメージでサポートされているすべての環境変数が利用できます。

ACCEPT_EULA

環境変数ACCEPT_EULAは「Y」に設定して、Keeper Connection ManagerのEULAに同意したことを示す必要があります。このDockerイメージは、EULAの条件に従わないと使用できません。

MYSQL_RANDOM_ROOT_PASSWORD

これはオプションの変数です。pwgenを使用して、rootユーザーのランダムな初期パスワードを生成するには、yesのように空でない値に設定します。生成されたrootパスワードはstdoutに出力されます(GENERATED ROOT PASSWORD: .....)。

GUACAMOLE_DATABASE

Apache Guacamoleで使用するために作成および初期化されたデータベースの名前。この環境変数は必須であり、最終的には公式のMySQLイメージのMYSQL_DATABASE環境変数にマッピングされます。

GUACAMOLE_DATABASE変数は、他のGuacamole固有の変数と整合性を保つためにここで設定しますが、MYSQL_DATABASEが設定されている場合は省略できます。

GUACAMOLE_ADMIN_PASSWORD

これは、guacadminユーザーの管理者パスワードです。

GUACAMOLE_USERNAMEおよびGUACAMOLE_PASSWORD

Guacamoleウェブアプリケーションに固有のMySQLデータベースユーザーに使用するユーザー名とパスワード。この変数のペアは、公式のMySQLイメージに含まれるMYSQL_USER環境変数およびMYSQL_PASSWORD環境変数とは異なり、作成されたユーザーの権限は制限されており、Guacamoleを実行するためにどうしても必要な権限のみが付与されます。

GUACAMOLE_USERNAMEGUACAMOLE_PASSWORDは、MYSQL_USERMYSQL_PASSWORDで作成されたユーザーを代わりに使用できるため、厳密には必要ありませんが、最小権限の原則に従っていることを保証するために強く推奨されます。

Dockerシークレット

環境変数でデータを直接渡すのではなく、このイメージでサポートされている任意の環境変数に_FILEサフィックスを付加して、コンテナ内の指定されたファイルからその変数を強制的に読み込ませることができます。Dockerシークレットは機密データをコンテナ内の/run/secrets/配下のファイルに格納するため、これを使用して機密データをDockerシークレットから読み込めます。

たとえば、Guacamoleウェブアプリケーション固有の、権限が制限されたユーザーのユーザー名とパスワードをDockerシークレットから読み込む手順は以下のとおりです。

docker run --name some-guacamole-db \
    -e ACCEPT_EULA=Y \
    -e MYSQL_RANDOM_ROOT_PASSWORD=yes \
    -e GUACAMOLE_ADMIN_PASSWORD=some_password \
    -e GUACAMOLE_DATABASE=guacamole_db \
    -e GUACAMOLE_USERNAME_FILE=/run/secrets/mysql-username \
    -e GUACAMOLE_PASSWORD_FILE=/run/secrets/mysql-password \
    -d keeper/guacamole-db-mysql

Last updated