컨테이너는 휘발성이기 때문에 내부에 데이타를 저장하지 않고 별도의 공간 (볼륨이나 호스트의 디렉토리)를 사용해야 데이타의 보존이 가능하다.
docker의 mysql 컨테이너는 기본적으로 db 관련 내용을 /var/lib/mysql에 저장하며, 이 디렉토리가 비어 있을 경우 필요한 파일들을 자동으로 생성한다.
(mysql_install_db 스크립트로 초기화 시킬수있으며 5.7 부터는 별도의 스크립트가 mysqld --initialize 옵션으로 대체됐다.)
mysql 컨테이너를 실행할 때 별도의 저장소에 저장할 경우 첫 실행에서 (/var/lib/mysql의 내용이 초기화 될 때) root 의 비번을 넣지 않으면 (MYSQL_ALLOW_EMPTY_PASSWORD=true 으로 실행하면) root 계정의 비번은 없다고 저장이 되기 때문에 다음 실행에 아무리MYSQL_ROOT_PASSWORD=????을 주어도 소용이 없다.
mysql 에 접속해서 root의 비번을 바꿔주는 과정이 필요하다!!!
mysql을 사용하는측에서 설정을 통해 필요한 db와 사용자 등을 생성해주는 과정을 거치는 것이 바람직한 방식 같다
'운영_설치 > 도커' 카테고리의 다른 글
도커 blah~ blah~ (0) | 2020.09.08 |
---|---|
docker-compose.yml 예제 (0) | 2020.09.08 |
private registry 사용하기 (0) | 2020.03.21 |
도커 사용의 이것저것 (0) | 2020.03.21 |
도커 컨테이너 목록과 실행 옵션 (mysql, registry) (0) | 2020.03.20 |