我正在学习使用码头。我正在使用postgresql和使用docker的pgadmin4建立一个数据库。我编写了一个docker-compose.yml文件如下,
version: '3.8'
services:
db:
container_name: postgres
image: postgres
restart: always
volumes:
- ${HOME}/Desktop/dbms-2/:/var/lib/postgresql/data
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: root
POSTGRES_DB: test_db
ports:
- "5432:5432"
build:
context: .
dockerfile: Dockerfile
pgadmin:
container_name: pgadmin4
image: dpage/pgadmin4
restart: always
volumes:
- ${HOME}/Desktop/dbms-2/:/var/lib/pgadmin4/storage
environment:
PGADMIN_DEFAULT_EMAIL: admin@admin.com
PGADMIN_DEFAULT_PASSWORD: root
ports:
- "5050:80"以及一个码头文件,用于在Postgres中启动SQL脚本,如下所示(我在同一个根目录中有docker-entrypoint-initdb.d子目录和docker-compose.yml )。
FROM postgres:latest
COPY docker-entrypoint-initdb.d/*.sql /docker-entrypoint-initdb.d/
RUN chmod a+r /docker-entrypoint-initdb.d/*
EXPOSE 6666现在,我的csv文件包含了本地文件系统中另一个目录中的表。当我在将这些文件复制到pgAdmin4和${HOME}/Desktop/dbms-2/目录后试图从/var/lib/pgadmin/storage/admin_admin.com/ GUI导入这些文件时,我得到了一个
Errno 13权限被拒绝:'/var/lib/pgadmin/storage/admin_admin.com/name.basics.tsv'.
有比这些更好的进口表格的方法吗?我在这里犯了什么错误?以及如何将这个docker-compose.yml和Dockerfile合并成一个docker-compose.yml文件。
发布于 2022-11-14 22:14:03
https://stackoverflow.com/questions/66934372
复制相似问题