ローカル 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 の使用方法の詳細な説明

推薦する

CSS3 シンプルカットカルーセル画像実装コード

実装のアイデアまず、親コンテナーを作成し、2 つの順序なしリストを使用して、柔軟なレイアウトで親コン...

MySQLの共通関数を使用してJSONを処理する方法

公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...

ログインインターセプションを実装するためのVueルーティング

目次1. 概要2. ログインインターセプションを実装するためのルーティングナビゲーションガード1. ...

Google ブラウザのラベルと入力間のスペースに関する小さな問題

最初にコード、次にテキストコードをコピーコードは次のとおりです。 <!DOCTYPE html...

MySQL公式パフォーマンステストツールmysqlslapの使い方の紹介

目次導入説明書実際の経験まとめ導入MySQL は最も人気のあるオープンソース データベースとして、さ...

k8sとDockerの関係についての簡単な説明

最近、プロジェクトでは kubernetes (以下、k8s と表記、k と s の間には 8 つの...

Web ページ WB.ExecWB 制御印刷メソッド呼び出しの説明とパラメータの紹介

WebページWB.ExecWB制御印刷方法コードをコピーコードは次のとおりです。 <テーブルの...

WebページのレイアウトではIE6の互換性の問題を考慮する必要があります

下の図は、当社のウェブサイト統計システムの訪問者詳細におけるブラウザ閲覧率を示しており、IE6 が ...

Nginx 運用保守ドメイン名検証方法例

インターフェイス ドメイン名を構成する際、各パブリック プラットフォームはドメイン名に対する開発者の...

HTML テーブル マークアップ チュートリアル (37): 背景画像属性 BACKGROUND

テーブル ヘッダーの背景画像を設定します。任意の GIF または JPEG 画像ファイルを使用できま...

Vueモバイル端末は左スライド編集と削除の全プロセスを実現します

序文プロジェクトのニーズに応じて、Vue-touch を使用して、vue モバイル端末の左スワイプ編...

MYSQL(電話番号、IDカード)データ非感応化の実装

1. データ感度低下の説明日常の開発ニーズでは、データの感度低下が頻繁に発生します。たとえば、ID ...

Mysql 文字列の傍受と指定された文字列内のデータの取得

序文: 正規表現のインターセプションに似た、MySql フィールドの文字列から特定の文字を抽出すると...

Vue.jsフレームワークはショッピングカート機能を実装します

この記事では、ショッピングカートを実装するためのVue.jsフレームワークの具体的なコードを参考まで...

Centos7.3 Nginx をインストールして展開し、https を設定する方法

設置環境1. gccのインストールnginxをインストールするには、まず公式サイトからダウンロードし...