和富图纳’,‘WLF’,876,‘f’), (236,‘EH’,‘西方 撒哈拉 </跨度> ’,‘ESH’,732,‘f’), (237,‘YE’,‘也门’,‘YEM’,887,‘f’), (238,‘ZM’,‘赞比亚’,‘ZMB’,894,‘f’), (239,‘ZW’,‘津巴布韦’,’ZWE
使用PostgreSQL的官方Docker镜像, code_monk的答案 不适合我。 我到达这个解决方案:
docker exec -it <container-name> psql -U <DB_USER> -d <DB_NAME> -f /file.sql
对正在运行的容器使用执行命令 码头工人 。
要将文件(例如:dump.sql)复制到容器中,请使用 码头工人
所以你的方法看起来像这样:
docker cp ./dump.sql pg_test:/docker-entrypoint-initdb.d/dump.sql docker exec -u postgres pg_test psql postgres postgres -f docker-entrypoint-initdb.d/dump.sql
这里是通用形式:
docker cp ./localfile.sql containername:/container/path/file.sql docker exec -u postgresuser containername psql dbname postgresuser -f /container/path/file.sql
请注意,如果您需要在每次运行时为数据库设定种子,那么该文件夹 /docker-entrypoint-initdb.d/ 不 有特殊的意义 ,如果你正在使用 官方postgres图像
/docker-entrypoint-initdb.d/