Docker Postgres镜像 数据无法存档

docker中postgressql容器commit为镜像时,无法把数据文件保存到镜像中



我在postgres-9.4.3中创建了一个用户和一个数据库并导入了数据,不大,几百M是有的,这两个镜像是不一样的,但是大小完全一样。

就是说原本的镜像大小是多少,你在容器中一顿操作之后保存的镜像大小还是多少,不会变,下一次用你自己保存的镜像启动容器的时候,会发现,之前创建的用户,数据库什么的全都不见了。



下面是解决方法

创建容器的时候挂载宿主机文件夹到容器中,把容器中的DB资料存储到宿主机中

docker run --name your-postgresql -v /usr/postgresqldata:/var/lib/postgresql/data/ -e POSTGRES_PASSWORD=postgres -d -p 10000:5432 9367


--name your-postgresql

表示:给这个容器起一个名字,不可重复

-v /usr/postgresqldata:/var/lib/postgresql/data

表示:把宿主机的/usr/postgresqldata挂载到容器/var/lib/postgresql/data的位置,这里最好是些绝对路径,宿主机的路径可以写相对路径,宿主机的文件夹中会有容器中的文件夹中的所有数据

-e POSTGRES_PASSWORD=postgres

表示:给容器中postgres设定环境变量,超级用户的密码

-d 后台运行

-p 10000:5432 

表示:10000宿主机的端口对应容器5432端口(postgres默认端口)




评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值