如何使用Dockerfile创建PostgreSQL数据库,
目录
- 官网下载基本镜像
- 创建项目目录
- 创建一个名为 “Dockerfile” 的文件
- 创建一个名为init.sql的文件
- 使用Dockerfile构建
- 运行PostgreSQL容器
- 允许远程连接到 PostgreSQL 容器
官网下载基本镜像
[root@localhost ~]# docker pull postgres:latest
创建项目目录
[root@localhost ~]# mkdir /root/postgresql
创建一个名为 “Dockerfile” 的文件
[root@localhost ~]# vim Dockerfile # 使用官方的PostgreSQL镜像 FROM postgres:latest # 设置环境变量(设置数据库登录密码) ENV POSTGRES_PASSWORD=aczu102030 # 将当前目录下的init.sql文件复制到容器中的/docker-entrypoint-initdb.d/目录 COPY init.sql /docker-entrypoint-initdb.d/ # 暴露PostgreSQL的默认端口 EXPOSE 5432 # 在容器启动时执行命令 CMD ["postgres"]
创建一个名为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 监听所有地址。
root@59fc0bb64dea:/# echo "host all all 0.0.0.0/0 md5" >> /var/lib/postgresql/data/pg_hba.conf root@59fc0bb64dea:/# exit
重启PostgreSQL 容器。
[root@localhost postgres]# docker restart 59fc0bb64dea
远程连接时使用正确的用户名、密码和数据库名进行连接。
到此这篇关于如何使用Dockerfile创建PostgreSQL数据库的文章就介绍到这了,更多相关Dockerfile创建PostgreSQL数据库内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!
您可能感兴趣的文章:- Postgresql数据库之创建和修改序列的操作
- 在postgresql数据库中创建只读用户的操作
- 详解docker中Dockerfile指令创建镜像
- Docker使用Dockerfile来创建镜像
- docker官方镜像下载及使用Dockerfile创建镜像的方法
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。