赞
踩
最近楼主在给三方服务器用docker部署项目上遇到的问题,因为他们无法连接外网,只能手动用命令导入sql,说下流程和踩坑。
1、导出sql文件, 上传到服务器目录 cd 到呢个目录,将sql 粘贴到容器内
* docker cp public.sql 881cda7819fe:/ 复制sql 脚本到 容器
2、进入启动的postgres容器
* docker exec -it 881cda7819fe /bin/bash //881cda7819fe指的容器ID
3、进入postgres 用户,必须
* su - postgres
* 输入psql
4、创建一个你需要的数据库,方便后面把sql导入到这个数据库
* 创建数据库:CREATE DATABASE "jing_zhou_shi_ming_zhi_jia" WITH OWNER = "postgres" ENCODING = 'UTF8' TABLESPACE = "pg_default";
5、接下就是一些查看
* 查看所有的数据库 \l
* 切换到数据库:\c 'jing_zhou_shi_ming_zhi_jia';
* \d 查询数据库所有表
6、最终导入
* 导入sql 脚本 psql -d jing_zhou_shi_ming_zhi_jia -U postgres -f /public.sql
注:直接执行脚本会报错找不到文件,因为找不到目录切换了用户,需要我们切换到根本路去找文件目录,找到文件目录再执行导入就乐意;
注:若不切换到 postgres,会报错 FATAL: Peer authentication failed for user "postgres"没有权限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。