目录
4:启动postgres(pg)数据库报错,postgres数据库无法启动
背景:
Odoo,以前称为 OpenERP,是一套用 Python 编写并在 LGPL 许可下发布的开源商业应用程序。这套应用程序涵盖了所有业务需求,从网站/电子商务到制造、库存和会计,所有这些都无缝集成。这是有史以来第一次软件编辑器能够达到这样的功能覆盖范围。Odoo 是世界上安装最多的商业软件。Odoo 被全球 2.000.000 名用户使用,从非常小的公司(1 名用户)到非常大的公司(30 万名用户)
资产情况:
1:一台linux服务器;2核4G,cento7.6
操作步骤:
1:安装docker
1.1操作命令
yum -y install docker
systemctl enable docker
systemctl restart docker
2:配置镜像加速器
2.1 centos
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://jwrmyfx1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.2 Ubuntu
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://jwrmyfx1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3:拉取postgres数据库镜像
mkdir /home/pgdata
docker run --name db -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=fds@r342DKL -e POSTGRES_DB=postgres -p 15432:5432 -v /home/pgdata:/var/lib/postgresql/data -d -it --privileged postgres:13
第一步会读取本地镜像是否有PG数据库,没有的话,会自动去官网拉取。
3.1 效果展示:
3.2 查看postgres运行状态:状态up,
状态up,并不带程序可以正常访问,还需要测试端口连通性
3.3 命令解释:
run 创建并运行一个容器
--name db 指定容器的名称,可以自己定
-e POSTGRES_PASSWORD=xxx POSTGRES_USER=xxx
设置环境变量,指定数据库的用户名和密码,用户名为xx,密码为:xx
-p 15432:5432 指定端口:前面为映射的端口号,后面为镜像的端口号
-v /home/pgdata:/var/lib/postgresql/data 指定宿主机的目录和原数据目录;如果容器被移除,文件存储就会丢失。防止这种情况的首选方法是使用名为volume的 Docker
-d postgres:13 指定镜像名称以及版本号,不知道默认拉取最新版本
PS:postgres镜像默认的用户名为postgres