docker上快速部署Postgresql数据库,可以参考docker-postgres的官方解决方案 https://hub.docker.com/_/postgres/
核心命令
docker run --name yourappname -e POSTGRES_PASSWORD=xxx -e POSTGRES_USER=xxx -v ./data:/var/lib/postgresql/data/pgdata -d -p xxxx:5432 postgres
命令执行步骤
第一步:在任意机子上建立一个镜像,指定数据卷位置,并将其挂载到虚拟机上
第二步:按照你指定的端口访问数据库,做数据初始化。包括建表和插入初始数据。
第三步:备份数据卷。也就是上面的./data目录。
第四步,将这个数据卷放到你的服务器上
第五步和第一步一样。但是此时,你的数据卷里面已经有之前保存的内容了。
1、在linux中创建目录
[root@bb software]# mkdir -p dev-postgres/data [root@bb software]# cd dev-postgres/data [root@bb dev-postgres]# pwd /software/dev-postgres/data [root@bb dev-postgres]#
2、命令
docker run --name my-postgres -e POSTGRES_PASSWORD=xxxxxx -e POSTGRES_USER=postgres -v /software/dev-postgres/data:/home/data/ -p 15555:5432 -d postgres
-it -d 这两个参数一般同时使用,保证 container 以交互的方式在后台运行。 --rm 这个参数是指在 container 停止时自动将 container 删除。 --name 你在使用 docker ps 命令时看到的 container 的名字。 -e POSTGRES_USER=dbuser 这个是设置 container 中的环境变量用的参数,指的是设计数据库用户为 dbuser 。之后登录数据库时就是使用这个用户名。 -e POSTGRES_PASSWORD=password 同上,也是设置 container 中的环境变量,这个是设置你登录数据库的密码,这里设置的密码为"password"。 -e POSTGRES_DB=testdb 同上,初始化一个新的数据库,其名字为 testdb。 -p 5432:5432 这个是将主机的端口与 container 暴露的端口进行映射。其格式为 -p 主机端口: container 端口。即 : 前为主机端口,后为 container 端口。 -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data 挂载目录。将容器中的 /var/lib/postgresql/data 目录挂载至我们刚才新建的磁盘上的 $HOME/docker/volumes/postgres ,以便数据的持久化 postgres 为下载下来的 image 的名字。如果你的主机上没有相应的 image ,则 docker 会自动从 dockerhub 活着你设置的源上下载相应的 image。
3、进入容器验证
docker exec -ti my-postgres /bin/bash
root@b63cf7c32fb7:/bin# psql -U postgres psql (13.0 (Debian 13.0-1.pgdg100+1)) Type "help" for help. postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+------------+------------+----------------------- postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 | template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres + | | | | | postgres=CTc/postgres (3 rows) postgres=#
4、连接测试
完
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos上docker部署postgres - Python技术站