Docker로 MySQL 데이터베이스 돌리기
이것은 MySQL을 로컬에 설치하고 구성할 필요가 없고 수천 가지 문제에 직면할 필요가 없기 때문에 시작하는 가장 좋은 방법입니다. 몇 분 안에 MySQL 데이터베이스를 가동할 수 있습니다.
시작하려면 다음 단계를 따르세요.
docker pull mysql:latest
수동으로 수행할 필요가 없습니다. 컨테이너를 스핀업할 때 설치되지 않은 경우 자동으로 다운로드됩니다.
다음 명령을 사용하여 컨테이너를 시작합니다.
docker run --name <container_name> -p 3306:3306 -v mysql_volume:/var/lib/mysql/ -d -e "MYSQL_ROOT_PASSWORD=<root_password>" mysql
그러면 이름이
mysql:latest
인 새 컨테이너가 생성되고 컨테이너 외부의 인스턴스를 사용하기 위해 로컬 환경에 포트3306
가 게시됩니다.이것은 또한 데이터베이스의 데이터를 유지하기 위해 컨테이너의 볼륨을 설정하므로 호스트 시스템이나 컨테이너를 다시 시작할 때 재설정되지 않습니다.
또한 MYSQL_ROOT_PASSWORD 환경 변수를 전달하여 데이터베이스의 루트 비밀번호를 설정합니다.
제공되지 않으면 임의의 강력한 암호를 생성하며 다음 명령을 사용하여 컨테이너 로그에서 확인할 수 있습니다.
docker container logs <container_name>
컨테이너를 시작할 때 다음 환경 변수를 전달할 수 있습니다.
MYSQL_ROOT_PASSWORD
: 이 환경 변수를 사용하여 비밀번호를 설정합니다. MYSQL_ALLOW_EMPTY_PASSWORD
: 공백 또는 Null 비밀번호가 설정됩니다. MYSQL_ALLOW_EMPTY_PASSWORD=1로 설정해야 합니다. MYSQL_RANDOM_ROOT_PASSWORD
: 컨테이너가 시작될 때 임의 암호가 생성됩니다. 임의의 비밀번호를 생성하려면 MYSQL_RANDOM_ROOT_PASSWORD=1
를 설정해야 합니다. Don't pass in the permanent password in production, as the password will be visible in the shell history, which we obviously don't want.
A possible solution is that we pass in a temporary password like temp123 and then change it afterwards.
다음과 같이 루트 암호를 변경할 수 있습니다.
docker exec -it <container_name> bash`.
mysql -u root -p
그러면 이전에 설정한 비밀번호를 입력하라는 메시지가 표시됩니다. 이 경우 temp123이었습니다.
ALTER USER 'root'@'localhost' IDENTIFIED BY '<new_password>';
참조:
Reference
이 문제에 관하여(Docker로 MySQL 데이터베이스 돌리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/celeron/spinning-up-mysql-database-with-docker-2d2a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)