官網(wǎng)下載基本鏡像
[root@localhost ~]# docker pull postgres:latest
創(chuàng)建項目目錄
[root@localhost ~]# mkdir /root/postgresql
創(chuàng)建一個名為 “Dockerfile” 的文件
[root@localhost ~]# vim Dockerfile
# 使用官方的PostgreSQL鏡像
FROM postgres:latest
# 設置環(huán)境變量(設置數(shù)據(jù)庫登錄密碼)
ENV POSTGRES_PASSWORD=aczu102030
# 將當前目錄下的init.sql文件復制到容器中的/docker-entrypoint-initdb.d/目錄
COPY init.sql /docker-entrypoint-initdb.d/
# 暴露PostgreSQL的默認端口
EXPOSE 5432
# 在容器啟動時執(zhí)行命令
CMD ["postgres"]
創(chuàng)建一個名為init.sql的文件
[root@localhost ~]# vim init.sql
CREATE TABLE mytable (
id SERIAL PRIMARY KEY,
name VARCHAR(100)
);
INSERT INTO mytable (name) VALUES ('John'), ('Jane'), ('Doe');
使用Dockerfile構建
[root@localhost postgres]# docker build -t my-postgres .
構建一個名為my-postgres的Docker鏡像
運行PostgreSQL容器
[root@localhost postgres]# docker run -d --name my-postgres-container -p 5432:5432 my-postgres
后臺運行一個名為my-postgres-container的容器,將主機的5432端口映射到容器的5432端口。
允許遠程連接到 PostgreSQL 容器
進入PostgreSQL 容器
[root@localhost postgres]# docker exec -it <容器名稱或 ID> bash
允許 PostgreSQL 監(jiān)聽所有地址。
root@59fc0bb64dea:/# echo "host all all 0.0.0.0/0 md5" >> /var/lib/postgresql/data/pg_hba.conf
root@59fc0bb64dea:/# exit
重啟PostgreSQL 容器。文章來源:http://www.zghlxwxcb.cn/news/detail-832662.html
[root@localhost postgres]# docker restart 59fc0bb64dea
遠程連接時使用正確的用戶名、密碼和數(shù)據(jù)庫名進行連接。文章來源地址http://www.zghlxwxcb.cn/news/detail-832662.html
到了這里,關于用Dockerfile創(chuàng)建PostgreSQL數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!