首页 > 网络 > 云计算 >

DockerPostgres镜像数据无法存档

2017-03-23

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

DockerPostgres镜像数据无法存档,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的位置,这里最好是些绝对路径,宿主机的路径可以写相对路径,宿主机的文件夹中会有容器中的文件夹中的所有数据

-ePOSTGRES_PASSWORD=postgres

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

-d 后台运行

-p 10000:5432

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

相关文章
最新文章
热点推荐