什么意味着为SERVER模式配置身份验证

问题描述

我在ubuntu 18.04服务器上使用docker swarm获得了postgresql和pgadmin4,但是pgadmin给了我错误,一段时间后应用程序崩溃了,我无法输入postgres:这是错误

 PermissionError: [Errno 1] Operation not permitted: '/var/lib/pgadmin/sessions'
 WARNING: Failed to set ACL on the directory containing the configuration database:
    [Errno 1] Operation not permitted: '/var/lib/pgadmin'
 HINT   : You may need to manually set the permissions on
          /var/lib/pgadmin to allow pgadmin to write to it.
 /usr/local/lib/python3.8/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode,the default buffer size will be used
   return io.open(fd,*args,**kwargs)
 [2020-09-04 21:12:24 +0000] [1] [INFO] Shutting down: Master
 [2020-09-04 21:12:24 +0000] [1] [INFO] Reason: Worker failed to boot.
 WARNING: Failed to set ACL on the directory containing the configuration database:
            [Errno 1] Operation not permitted: '/var/lib/pgadmin'
 HINT   : You may need to manually set the permissions on
          /var/lib/pgadmin to allow pgadmin to write to it.
 NOTE: Configuring authentication for SERVER mode.

 sudo: setrlimit(RLIMIT_CORE): Operation not permitted
 [2020-09-04 21:14:26 +0000] [1] [INFO] Starting gunicorn 19.9.0
 [2020-09-04 21:14:26 +0000] [1] [INFO] Listening at: http://[::]:80 (1)
 [2020-09-04 21:14:26 +0000] [1] [INFO] Using worker: threads
 /usr/local/lib/python3.8/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode,**kwargs)
 [2020-09-04 21:14:26 +0000] [89] [INFO] Booting worker with pid: 89

错误,我看到它告诉我注:为SERVER模式配置身份验证。 但我不知道如何配置它所指示的内容,有人可以帮助我解决我的问题。 谢谢

编辑:

docker-compose.yml

version: '3'
services:
  ssl:
       image: danieldent/nginx-ssl-proxy
       restart: always
       environment:
         UPSTREAM: myApp:8086
         SERVERNAME: dominio.com
       ports:
            - 80:80/tcp
            - 443:443/tcp
       depends_on:
            - myApp
       volumes:
            -  ./nginxAPP:/etc/letsencrypt
            -  ./nginxAPP:/etc/nginx/user.conf.d:ro
   bdd:
     restart: always
     image: postgres:12
     ports:
          - 5432:5432/tcp  
     environment:
         POSTGRES_USER: user
         POSTGRES_PASSWORD: 12345
         POSTGRES_DB: miBDD
     volumes:
          - ./pgdata:/var/lib/postgresql/data
  pgadmin:
    image: dpage/pgadmin4
    ports:
        - 9095:80/tcp
    environment:
       PGADMIN_DEFAULT_EMAIL: user
       PGADMIN_DEFAULT_PASSWORD: 12345
       PROXY_X_FOR_COUNT: 3
       PROXY_X_PROTO_COUNT: 3
       PROXY_X_HOST_COUNT: 3
       PROXY_X_PORT_COUNT: 3
    volumes:
      - ./pgadminAplicattion:/var/lib/pgadmin
  myApp:
   restart: always
   image: appImage 
   ports:    
         - 8086:8086
   depends_on:
       - bdd
   working_dir: /usr/myApp
   environment:
       CONFIG_PATH: ../configuation
   command: "node server.js"

解决方法

在非开发环境中使用绑定挂载通常是个坏主意,而对于Docker Swarm(与常规Docker相对)则加倍使用。当涉及到postgresdpage/pgadmin4之类的图像时,这需要双重处理,这些图像要求那些已挂载的目录具有特定的所有权和/或读/写权限。

在您的情况下,您需要运行:

sudo chown 999:999 pgdata
sudo chown 5050:5050 pgadminAplicattion

赋予这些目录正确的所有权。

话虽如此,最好避免完全绑定安装,而改用命名卷(跳过Compose文件的不相关部分):

version: "3"
services:
    bdd:
        restart: always
        image: postgres:12
        ports:
            - 5432:5432/tcp
        environment:
            POSTGRES_USER: user
            POSTGRES_PASSWORD: 12345
            POSTGRES_DB: miBDD
        volumes:
            - pgdata:/var/lib/postgresql/data
    pgadmin:
        restart: always
        image: dpage/pgadmin4
        ports:
            - 9095:80/tcp
        environment:
            PGADMIN_DEFAULT_EMAIL: user
            PGADMIN_DEFAULT_PASSWORD: 12345
            PROXY_X_FOR_COUNT: 3
            PROXY_X_PROTO_COUNT: 3
            PROXY_X_HOST_COUNT: 3
            PROXY_X_PORT_COUNT: 3
        volumes:
            - pgadmin:/var/lib/pgadmin
volumes:
    pgdata:
    pgadmin:
,

在您的情况下,您需要使用以下命令:试试这个

sudo chown -R 5050:5050 /var/lib/pgadmin

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...