"LABEL version = "1.0"LABEL description="prin psql images"# 设置环境变量,_postgresql基于容器创">
赞
踩
为了方便在psql容器创建后,不需要进入其中单独创建我们需要的用户和数据库(或者其他操作),可以编写在Dockerfile时设置初始化脚本。
# base镜像是postgres:lates
FROM postgres:latest
# 镜像相关的资料信息
LABEL maintainer="Prin<xxx@qq.com>"
LABEL version = "1.0"
LABEL description="prin psql images"
# 设置环境变量,超级管理员的密码是必须设置的
ENV POSTGRES_PASSWORD=Cisc0123
# 向/docker-entrypoint-initdb.d/目录下添加init-user-db.sql脚本
ADD init-user-db.sql /docker-entrypoint-initdb.d/
容器运行时,psql会自动读取/docker-entrypoint-initdb.d/目录下的.sql脚本,并执行。
CREATE USER dev_dbuser WITH PASSWORD 'Cisc0123';
CREATE DATABASE dev_db;
GRANT ALL ON DATABASE dev_db TO dev_dbuser;
创建管理员、数据库,并且赋予管理员权利。.sql文件最后和Dockerfile放在同一个文件夹中。
步骤1:在当前目录下使用Dockerfile构建镜像
docker build -t prin/psql .
步骤2:使用镜像生成容器
docker run --name dev_db_psql -p 5432:5432 -d prin/psql
步骤3:远程设备访问数据库,可以直接用脚本中的账号数据库登陆,回车后输入密码即可
psql -U dev_dbuser -d dev_db -h 192.168.0.109(运行容器设备的IP地址)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。