Running TPA in a Docker container#
利用可能な TPA installation がなく、 Installing TPA from source の後にTPAを実行することが難しい場合たとえば、動作するPython 3.12以降のインタープリターを入手するのは簡単ではないため、最後の手段はDockerイメージをビルドすることですそして、Dockerコンテナ内でTPAを実行します。
Dockerのインストール を行うためにDockerコンテナでTPAを実行する必要はないことに注意してください。可能であれば、MacOS XでもTPAを直接実行することをお勧めします。
クイックスタート#
システムにDockerをインストールして動作している必要があります。
次のコマンドを実行して、Githubからtpaexecソースリポジトリのクローンを作成し、tpa/tpaexec
という名前の新しいDockerイメージをビルドします。
git clone ssh://git@github.com/EnterpriseDB/tpa.git
cd tpa
docker build -f docker/Dockerfile --build-arg TPA_VER=$(git describe) -t tpaexec:latest .
作成したイメージをダブルチェックします。
docker image ls tpaexec
REPOSITORY TAG IMAGE ID CREATED SIZE
tpaexec latest 3943dec4d660 20 minutes ago 658MB
docker run --rm tpaexec info
# TPAexec v23.38.0-38-g4dc030dc1
tpaexec=/usr/local/bin/tpaexec
TPA_DIR=/opt/EDB/TPA
PYTHON=/opt/EDB/TPA/tpa-venv/bin/python3 (v3.13.5, venv)
TPA_VENV=/opt/EDB/TPA/tpa-venv
ANSIBLE=/opt/EDB/TPA/tpa-venv/bin/ansible (v2.16.14)
次に、実行しているシェルセッションでtpaexec
のエイリアスを設定する必要があります。
alias tpaexec="docker run --rm -v $PWD:/work -v /var/run/docker.sock:/var/run/docker.sock tpaexec"
これで、次のようなコマンドを実行できます。
tpaexec configure cluster -a M1 --postgresql 15 --failover-manager patroni --platform docker
tpaexec deploy cluster
Dockerのインストール#
install Docker および get started のヘルプが必要な場合は、 Docker documentation を参照してください。
MacOS Xでは、次のことができます install "Docker Desktop forMac"
そして、アプリケーションメニューからDockerを起動します。