MySQL 이미지 다운로드
$ docker pull mysql:8.0
컨테이너 생성
$ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<ROOT_PASSWORD> -e MYSQL_USER=<USER_NAME> -e MYSQL_PASSWORD=<USER_PASSWORD> -e MYSQL_DATABASE=<DATABASE_NAME> --name <CONTAINER_NAME> mysql
<ROOT_PASSWORD>
: root 계정의 비밀번호<USER_NAME>
: 사용자 계정명. USER_NAME을 이름으로 하는 계정을 생성하고 모든 권한을 줌<USER_PASSWORD>
: 사용자 비밀번호<DATABASE_NAME>
: MySQL의 스키마명<CONTAINER_NAME>
: 컨테이너명
컨테이너 터미널 실행
$ docker exec -i -t <CONTAINER_NAME> bash
MySQL 캐릭터 셋 설정
$ cat << 'EOF' > /etc/mysql/conf.d/utf8.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
EOF
- utf8mb4: emoji 문자를 제공하는 charset
MySQL 상태 확인
$ mysql -u<USER_NAME> -p<USER_PASSWORD>
mysql> status
VirtualBox 사용 시 포트포워딩 설정 (외부에서 MySQL 연결시 10061 에러 발생 시 설정)
- VirtualBox 실행
- 도커가 실행되고 있는 virtual machine 선택
- 설정 -> 네트워크 -> 고급 -> 포트 포워딩 클릭
- 포트 포워딩 규칙 추가 (이름: mysql, 프로토콜: TCP, 호스트 IP: 127.0.0.1, 호스트 포트: 3306, 게스트 포트: 3306)
참고
docker-library/docs/mysql
MariaDB(MySQL)에서 UTF8MB4 설정
Docker for windows is not mapping ports to localhost
'개발 > Docker' 카테고리의 다른 글
[Docker] 로컬 Docker 이미지 파일 저장 후 원격 서버에 배포하기 (0) | 2019.09.24 |
---|---|
[Docker] DockerFile로 부터 이미지 생성 (0) | 2019.09.24 |
[Docker] Docker 터미널 명령어 (0) | 2019.08.23 |