programing

도커 작성 - 진입점 권한 오류(mariadb)

javajsp 2023. 6. 13. 22:00

도커 작성 - 진입점 권한 오류(mariadb)

저는 많은 시도를 했고 이것을 찾아봤지만, 아무도 저의 정확한 문제를 가지고 있지 않은 것 같습니다.

다음 단계와 테스트 실행을 사용하여 Ubuntu 20.04 LTS에 도커를 설치했습니다.docker run hello-world완벽하게 작동합니다.

나의docker-compose.yml다음과 같이 표시됩니다.

version: '3.7'

services:

  db:
    image: mariadb
    environment:
      MYSQL_ROOT_PASSWORD: 42
    volumes:
      - type: bind
        source: ./dbsetup
        target: /docker-entrypoint-initdb.d

  adminer:
    image: adminer
    ports:
      - 8080:8080
    depends_on:
      - db

도커 서비스가 실행 중이며 mariadb/adminer 이미지가 오류 없이 다운로드됩니다.

사용하려고 할 때docker compose up(sudo 또는 not) 다음 오류가 발생합니다.

Attaching to dbexercise3-adminer-1, dbexercise3-db-1
dbexercise3-db-1       | 2022-11-26 01:01:54+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.10.2+maria~ubu2204 started.
dbexercise3-db-1       | 2022-11-26 01:01:54+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
dbexercise3-db-1       | 2022-11-26 01:01:54+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.10.2+maria~ubu2204 started.
dbexercise3-db-1       | ls: cannot open directory '/docker-entrypoint-initdb.d/': Permission denied
dbexercise3-adminer-1  | [Sat Nov 26 01:01:54 2022] PHP 7.4.33 Development Server (http://[::]:8080) started
dbexercise3-db-1 exited with code 2

관리자가 정상적으로 시작되지만 로그인할 수 없습니다(mariadb 컨테이너가 존재하지 않기 때문에)

도커 데스크톱도 설치해 보았습니다.
GUI 응용 프로그램을 시작한 후docker compose upDB로 작업할 수 있습니다.물론 저는 도커 데스크톱을 사용하고 부팅 시 시작할 수 있지만 GUI가 필요하지 않고 DEB 패키지를 통해 수동으로 업데이트해야 하는 것은 성가십니다.

답은 의외로 쉬웠습니다.

나는 달리기를 정말 싫어합니다.chmod 777 dbsetup권한 오류를 삭제합니다.Docker Desktop이 우선 순위가 높은 작업을 실행하기 때문에 이 문제를 어떻게 피할 수 있었는지 아직도 모르겠습니다.

언급URL : https://stackoverflow.com/questions/74579314/docker-compose-entrypoint-permission-error-mariadb