ローカル Docker に Postgres 12 + pgadmin をインストールする方法 (Apple M1 をサポート)

ローカル Docker に Postgres 12 + pgadmin をインストールする方法 (Apple M1 をサポート)

導入

このプロジェクトでは最近、Posgres データベースを 9.6 から 12+ にアップグレードしました。移行テストを行うには、ローカルに複数のバージョンの Postgres をインストールする必要があります。最も便利な方法は、Docker を使用してインストールすることです。バージョンの競合の問題はなく、管理や削除も簡単です。

docker-compose や stack を使うのもお勧めです。簡単に言うと、データをローカルに保存できるので、再起動のたびにデータが失われることがなく、再利用できます。統合テストを実行する場合は、毎回新しい DB を開始できます。

次の docker-compose ファイルには、Postgres を使いやすくする pgAdmin も含まれています。お気に入りの DB ブラウザを使用することもできます。私は IDEA (ultimate) に付属するデータベース プラグインを使用します。

Intel CPUをサポート

しばらくMacOSで使用しましたが問題ありませんでした。

  • docker-compose.yml ファイルとして保存
  • ファイルパスでdocker-compose up -dを実行します。

例:

  • ユーザー名とパスワードは自由に設定できます
  • ボリュームはデータベースがローカルに保存されるパスです
  • ポート: デフォルトは 5432 です。通常は 15432 に変更します。プロジェクトが多く、10000 未満のポートは非​​常に混雑しています。
  • pgadminのメールアドレスとパスワードはページのログインパスワードです
  • pgadminのボリュームとポートはPostgresと同じです
バージョン: '3.5'

サービス:
 ポストグル:
 コンテナ名: pg12
 画像: postgres:12
 環境:
 POSTGRES_USER: pg12
 POSTGRES_パスワード: pg12
 PGD​​ATA: /data/postgres
 ボリューム:
 - postgres12:/Users/szhang/postgresql/pg12
 ポート:
 - 「5432:5432」
 ネットワーク:
 - 12ページ
 再起動: 停止しない限り

 pgadmin:
 コンテナ名: pgadmin12
 画像: dpage/pgadmin4
 環境:
 PGADMIN_DEFAULT_EMAIL: [email protected]
 PGADMIN_DEFAULT_PASSWORD: [email protected]
 ボリューム:
 - pgadmin12:/Users/szhang/postgresql/.pgadmin12
 ポート:
 - 「27777:80」
 ネットワーク:
 - 12ページ
 再起動: 停止しない限り

ネットワーク:
 12ページ:
 ドライバー: ブリッジ

ボリューム:
 postgres12:
 pgadmin12:

Apple M1のサポート

このバージョンの唯一の違いは、Postgres イメージが ARM バージョンであり、特に最新の Apple M1 チップを搭載したコンピューターをサポートしていることです。さらに、Apple M1 コンピューターは Docker を実行できますが、多くの Docker イメージにはまだ ARM バージョンがないため、現時点では M1 コンピューターを開発 (Docker が必要) に使用するのは便利ではありません。

バージョン: '3.5'

サービス:
 ポストグル:
 コンテナ名: pg12
 イメージ: arm64v8/postgres:12.6
 環境:
 POSTGRES_USER: pg12
 POSTGRES_パスワード: pg12
 PGD​​ATA: /data/postgres
 ボリューム:
 - postgres12:/Users/shubozhang/dev/postgresql/pg12
 ポート:
 - 「5432:5432」
 ネットワーク:
 -pg12
 再起動: 停止しない限り

 pgadmin:
 コンテナ名: pgadmin12
 画像: dpage/pgadmin4
 環境:
 PGADMIN_DEFAULT_EMAIL: [email protected]
 PGADMIN_DEFAULT_PASSWORD: [email protected]
 ボリューム:
 - pgadmin12:/Users/shubozhang/dev/postgresql/.pgadmin12
 ポート:
 - 「27777:80」
 ネットワーク:
 - 12ページ
 再起動: 停止しない限り

ネットワーク:
 12ページ:
 ドライバー: ブリッジ

ボリューム:
 postgres12:
 pgadmin12:

テスト

pgAdmin

docker-composeでメールアドレスとパスワードを使用してログインします

ユーザーインターフェース

インテリジェンス

ユーザー名、パスワード、ポートを使用して接続します。

ローカル Docker を使用した Postgres 12 + pgadmin (Apple M1 をサポート) のインストールに関するこの記事はこれで終わりです。Docker を使用した Postgres のインストールに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker デプロイメント postgresql データベースについて
  • Docker で PostgreSQL を実行し、いくつかの接続ツールを推奨する
  • Docker が PostgreSQL を起動するときに複数のデータベースを作成するためのソリューション
  • Docker環境でPostgreSQLをアップグレードする詳細な手順
  • docker で PostgreSQL データベースをインストールして永続化する方法
  • dockerでPostgreSQLを実行する方法
  • docker 環境でのデータベース バックアップ (postgresql、mysql) のサンプル コード
  • docker をデプロイして postgres データベースにアクセスする方法

<<:  Vue-CLI3.xはプロジェクトをサーバーに自動的にデプロイします

>>:  MySQL binlog の使用方法の詳細な説明

推薦する

JavaScript で外部変数にアクセスするサブ関数の 3 つのソリューション

序文Web ページを作成するときに、次のような状況に遭遇することはよくあります。 <本文>...

CMD で MySQL データベースを操作するときに中国語の文字化けが発生する問題の解決方法

Baiduで検索しました。 。 chcp コマンドを使用して、cmd の文字エンコーディングを 65...

LinuxでIPを表示する方法の例

ネットワークの問題のトラブルシューティング、新しい接続のセットアップ、ファイアウォールの構成を行うと...

古い Vue プロジェクトに Vite サポートを追加する方法

1. はじめに会社のプロジェクトを引き継いで2年になります。今では毎回プロジェクトを起動するのに1分...

Tomcat コアコンポーネントとアプリケーションアーキテクチャの詳細な説明

目次Web コンテナとは何ですか? HTTP の性質HTTP リクエスト応答の例クッキーとセッション...

MySQLでビューを作成する方法

基本的な構文CREATE VIEW ステートメントを使用してビューを作成できます。構文の形式は次のと...

Docker プライベート サーバー イメージを定期的にクリーンアップする方法

CI を利用してリリース用の Docker イメージをビルドすることで、全員のバージョンリリース効率...

Dockerでk8sをデプロイする方法

K8s k8s はクラスターです。クラスターには複数の名前空間があります。名前空間の下には複数のポッ...

CSS3 で King of Glory マッチング人員読み込みページを実装する方法

King of Glory をプレイしたことがある人なら、このページの効果をよくご存知でしょう。なぜ...

MySQLの累積集計原理と使用例の分析

この記事では、例を使用して、MySQL 累積集計の原理と使用方法を説明します。ご参考までに、詳細は以...

スクロールバーがスペースを占有することで発生するバグを修正しました

背景このバグは滾動條占據空間ことで発生していました。いくつかの情報を確認して、ようやく解決しました。...

MySQLデータベース移行により、大量のデータを迅速にエクスポートおよびインポートできます

データベースの移行は、よく遭遇する問題です。データ量が少ない場合、移行は基本的に問題になりません。実...

小さな画像をクリックしたときに更新せずに大きな画像コードが表示されるようにLightboxを実現するためにCSSを使用する

小さな画像をクリックしたときに更新せずに大きな画像コードが表示されるようにLightboxを実現する...

Bootstrap 3.0 学習ノート グリッドシステム事例

序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...

MySQL 5.7 のインストールと設定の詳細な手順

1. MySQLをダウンロードする1. MySQLの公式ウェブサイトにログインし、64ビットシステム...