使用docker compose啟動postgresql的示例代碼
引言
要在啟動 PostgreSQL 容器時執(zhí)行特定的初始化文件,可以使用 Docker 的 docker-entrypoint-initdb.d
目錄。這個目錄下的 SQL 文件會在容器啟動時被自動執(zhí)行。
下面是如何修改 Docker Compose 配置文件,以便在啟動時執(zhí)行初始化 SQL 腳本:
創(chuàng)建初始化 SQL 腳本文件:
在項目中創(chuàng)建一個 SQL 文件,例如 init.sql
,并將需要執(zhí)行的 SQL 命令寫入其中。確保這個 SQL 文件包含需要的數(shù)據(jù)庫結構和數(shù)據(jù)。
-- init.sql CREATE TABLE IF NOT EXISTS users ( id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(100) NOT NULL ); INSERT INTO users (username, password) VALUES ('admin', 'admin123');
更新 Docker Compose 配置:
在 docker-compose.yml
文件中,添加 volumes
配置,將包含初始化 SQL 腳本的目錄映射到 PostgreSQL 容器的 docker-entrypoint-initdb.d
目錄。
version: "3.8" services: postgresql: container_name: postgresql image: 172.18.x.xxx:5000/postgres:15-alpine restart: always environment: POSTGRES_PASSWORD: dify POSTGRES_DB: dify PGDATA: /var/lib/postgresql/data/pgdata volumes: - ./volumes/db/test/data:/var/lib/postgresql/data - ./init-scripts:/docker-entrypoint-initdb.d ports: - "5432:5432" networks: - ssrf_proxy_network networks: ssrf_proxy_network: driver: bridge internal: true
在上面的配置中,我添加了一個 volumes 條目 - ./init-scripts:/docker-entrypoint-initdb.d,這將把本地目錄 ./init-scripts 映射到 PostgreSQL 容器的 docker-entrypoint-initdb.d 目錄下。
啟動 PostgreSQL 容器:
運行以下命令啟動的 PostgreSQL 容器,并讓它執(zhí)行初始化 SQL 腳本:
docker-compose up -d
PostgreSQL 容器會啟動,并自動執(zhí)行 docker-entrypoint-initdb.d 目錄下的 SQL 腳本文件。這樣,數(shù)據(jù)庫就會被初始化,表和數(shù)據(jù)會被創(chuàng)建。
確保 SQL 腳本文件的命名符合 PostgreSQL 的執(zhí)行順序要求(通常按字母順序執(zhí)行)。這樣,就可以在每次啟動 PostgreSQL 容器時自動初始化數(shù)據(jù)庫。
到此這篇關于使用docker compose啟動postgresql的示例代碼的文章就介紹到這了,更多相關docker compose啟動postgresql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- PostgreSQL Docker部署+SpringBoot集成方式
- Docker環(huán)境實現(xiàn)PostgreSQL自動備份的流程步驟
- 從Docker容器中備份整個PostgreSQL的操作步驟
- Docker安裝PostgreSQL數(shù)據(jù)庫的詳細步驟
- 在docker上部署postgreSQL主從的超詳細步驟
- Docker修改Postgresql密碼的方法詳解
- Docker如何安裝PostgreSQL
- 如何使用Dockerfile創(chuàng)建PostgreSQL數(shù)據(jù)庫
- docker容器中登陸并操作postgresql的實現(xiàn)
- 一步步教你用docker部署postgreSQL數(shù)據(jù)庫
- Docker部署postgresql的方法實現(xiàn)
相關文章
PostgreSQL中使用dblink實現(xiàn)跨庫查詢的方法
這篇文章主要介紹了PostgreSQL中使用dblink實現(xiàn)跨庫查詢的方法,需要的朋友可以參考下2017-05-05在postgreSQL中運行sql腳本和pg_restore命令方式
這篇文章主要介紹了在postgreSQL中運行sql腳本和pg_restore命令方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01Postgresql之時間戳long,TimeStamp,Date,String互轉方式
這篇文章主要介紹了Postgresql中的時間戳long,TimeStamp,Date,String互轉方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03PostgreSQL有效地處理數(shù)據(jù)的加密和解密的常見方法
在信息化建設和等保建設中,都要求實現(xiàn)對用戶數(shù)據(jù)的隱私保護,也就是我們常說的脫敏,那么在?PostgreSQL?數(shù)據(jù)庫中有沒有這樣的方法或者策略可以實現(xiàn)呢,本文小編將給大家介紹一下PostgreSQL有效地處理數(shù)據(jù)的加密和解密的常見方法,需要的朋友可以參考下2025-03-03Cenots7 離線安裝部署PostgreSQL 的詳細過程
這篇文章主要介紹了Cenots7 離線安裝部署PostgreSQL 的詳細過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10