programing

도커가 도커파일을 사용하여 MariaDB에 사용자를 추가하지 않음

goodjava 2022. 11. 5. 17:47

도커가 도커파일을 사용하여 MariaDB에 사용자를 추가하지 않음

이게 내 도커 파일이야

FROM mariadb:10.3.5

RUN apt-get update & apt-get upgrade -y

ENV MYSQL_USER=user1 \
    MYSQL_USER_PASSWORD=pass5 \
    MYSQL_DATABASE=db \
    MYSQL_ROOT_PASSWORD=XXX

ADD . /

WORKDIR /

단, 이로 인해 데이터베이스 빌드에 사용자 1이 추가되지는 않습니다.루트 패스워드는 동작하지만, 이것으로 끝입니다.볼륨 데이터를 포함한 모든 패스테스트를 완전히 삭제했지만 아직 사용자를 추가하지 않았습니다.그럼 내가 뭘 잘못하고 있는 거지?

감사해요.

공식 mariadb 도커 이미지에는 환경 변수가 내장되어 있습니다.MYSQL_USER그리고.MYSQL_PASSWORD:

이러한 변수는 옵션이며, 새 사용자를 만들고 해당 사용자의 암호를 설정하는 데 함께 사용됩니다.이 사용자에게는 MYSQL_DATABASE 변수에 의해 지정된 데이터베이스에 대한 슈퍼 사용자 권한(위 참조)이 부여됩니다.사용자를 작성하려면 두 변수가 모두 필요합니다.

그래서 변수는MYSQL_PASSWORD철자가 틀렸습니다(로 정의되어 있습니다).MYSQL_USER_PASSWORD그래서 mysql 사용자는 전혀 생성되지 않았습니다.

정답Dockerfile다음과 같습니다.

FROM mariadb:10.3.5

RUN apt-get update & apt-get upgrade -y

ENV MYSQL_USER=user1 \
    MYSQL_PASSWORD=pass5 \
    MYSQL_DATABASE=db \
    MYSQL_ROOT_PASSWORD=XXX

ADD . /

WORKDIR /

언급URL : https://stackoverflow.com/questions/49512647/docker-not-adding-user-to-mariadb-with-dockerfile