tools & libs/도커

[docker] 05. mysql 설치

  • -

이번 포스트에서는 이제까지의 포스트에 대한 복습으로 docker를 이용해서 mysql 서버를 설치하고 사용해보자.

 

 

먼저 hub.docker.com을 방문해서 mysql에 대한 image를 찾아보자.

Mysql - Official Image | Docker Hub

 

Mysql - Official Image | Docker Hub

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

설치는 가뿐히 docker pull mysql 이면 충분하다.

C:\Users\itsmeyjc>docker pull mysql Using default tag: latest latest: Pulling from library/mysql e1acddbe380c: Already exists bed879327370: Pull complete 03285f80bafd: Pull complete ccc17412a00a: Pull complete 1f556ecc09d1: Pull complete adc5528e468d: Pull complete 1afc286d5d53: Pull complete 6c724a59adff: Pull complete 0f2345f8b0a3: Pull complete c8461a25b23b: Pull complete 3adb49279bed: Pull complete 77f22cd6c363: Pull complete Digest: sha256:d45561a65aba6edac77be36e0a53f0c1fba67b951cb728348522b671ad63f926 Status: Downloaded newer image for mysql:latest docker.io/library/mysql:latest

 

 

 

mysql을 실행하기 위해서는 비밀번호 등 추가적인 파라미터가 전달되어야 하는데 docker desktop에서는 port와  volume 정보만 설정할 수 있었기 때문에 command line을 통해서 진행해야 한다. 다행히 reference 문서가 정말 잘 되어있어서 문제는 없다.

먼저 기본적인 실행을 위해서는 다음의 명령을 이용한다.

$ docker run --name yoursql -e MYSQL_ROOT_PASSWORD=[루트비번] -d -p [호스트포트]:3306 -v [호스트 데이터 저장 경로]:/var/lib/mysql -v [호스트 환경 저장 경로]:/etc/mysql/conf.d mysql

 

  • --name: container의 이름을 지정한다.
  • -e: container에서 사용하는 환경변수를 지정한다. MYSQL_ROOT_PASSWORD, MYSQL_DATABASE 등 사용할 수 있는 환경 변수들이 docker의 mysql 페이지에 잘 나타나 있다.
  • -d: container를 background에서 실행하고 container id를 출력한다.
  • -p: host의 port와 container의 port를 연결한다.
  • -v: host의 path와 container의 path를 연결한다.

즉 아래와 같이 실행하고 결과를 확인할 수 있다.

C:\Users\itsmeyjc>docker run --name yoursql -e MYSQL_ROOT_PASSWORD=root -d -p 3307:3306 -v "c:/temp/docker_mysql_data":/var/lib/mysql -v "c:/temp/docker_mysql_conf/":/etc/mysql/conf.d mysql 211c0b0b39772cf4ef179d82a905bcdaa178b85cff5ef0537ce18b5354385aa4 C:\Users\itsmeyjc>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 211c0b0b3977 mysql "docker-entrypoint.s…" 9 seconds ago Up 8 seconds 33060/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp mymysql 90f654cb20c7 httpd:latest "httpd-foreground" 11 hours ago Up 11 hours 0.0.0.0:8080->80/tcp my_ws

 

기존에 mysql을 사용하기 위해서 다양한 설치 과정, 오류를 겪었었는데 정말 너무 좋다.ㅎㅎ

 

먼저 mysql workbench를 통해서 접근해보기로 하자.

그냥 새로운 접속 정보를 만들면서 port 정보와 비밀번호만 신경써서 입력하면 그냥 잘~ 접속되는 것을 확인할 수 있다.

 

쿼리를 실행해봐도 너무나 잘 된다.

command line에서 접속도 물론 문제 없다.

C:\Users\itsmeyjc>docker exec -it mymysql bash root@211c0b0b3977:/# mysql -u root -p --default-character-set=utf8 Enter password: mysql> use test; Database changed mysql> select * from user; +------+-----------+ | id | name | +------+-----------+ | hong | 홍길동 | +------+-----------+ 1 row in set (0.00 sec) mysql>

 

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.