본문 바로가기
docker

docker mysql 생성하기

by 요리하다그만둠 2022. 8. 7.

1. 도커를 설치해줍니다.

https://www.docker.com/products/docker-desktop/

 

Docker Desktop - Docker

MOST COMMON

www.docker.com

저는 윈도우라 윈도우꺼 사용

설치해주세요~

 

 

 

 

이제 PowerShell 키시고

docker -v
도커 버전확인

 

저는 깔아둔게 있어서 그냥 사용중입니다.

docker ps
도커 이미지 확인하기

 

 

docker pull mysql
mysql 받기

 

 

docker pull mysql:<version>
특정 버전을 가져오는 것 또한 가능합니다.
$ docker run --name 컨테이너이름 -e MYSQL_ROOT_PASSWORD= 접속시비밀번호 -d -p 3306:3306 mysql:latest
3df967b762c36a1ce2cc00d24f86c0ba7f42c2ab940f1533bcb2b81f78ed5331

-p 3306:3306 은 앞에 포트로 접근하면 
컨테이너 내에서 뒤에 포트로 mysql 접속한다는 뜻입니다(mysql 기폰포트 3306)

다시 docker ps를 해보면

짜자잔 이미지가 생성된것을 확인 할 수 있습니다.

 

도커는 컨테이너를 고유 id를 통해서 식별하는데 id는 hash값입니다. (Container ID 밑에 있는 ed1d9ec4acb0)

이게 컨테이너가 몇개없다면 구별이 쉽지만 많아지면 어려우니 이름으로 쉽게 구별할수 있도록 만듭니다.

-d 옵션은 백그라운드에서 실행이 가능하게 합니다.

-e 옵션은 환경 변수를 설정하기 위해서 사용합니다. MYSQL_ROOT_PASSWORD의 환경 변수를 설정해줍니다.

-p 옵션은 포트를 설정하는 옵션입니다.<호스트 포트> : <컨테이너 포트> 

 

다시 도커데스크탑을보면

여기서도 실습용 BBS mysql이 생성된것을 확인할수 있습니다.

 

이게 파워쉘을 켜서 시작해도 되고 아니면 그냥 데스크탑으로 키셔도 굳이 상관은 없습니다.

시작
docker start 이름

 

 

멈춤
docker stop 이름

재시작
docker restart 이름

 

컨테이너 접속

docker exec -it [컨테이너 이름] bash

-it 옵션은 i 옵션과 t 옵션을 동시에 사용하는겁니다.

i옵션은 컨테이너의 표준 입력을 열겠다는 뜻이고 t 옵션은 터미널을 통해 접속하겠다는 의미입니다.

bash는 bash쉘을 연결하겠다는 의미입니다.

 

위에 명령어를 사용하면 아까 만든 BBS mysql로 들어갈수 있습니다.

bash-4.4# 이나오는데 여기서 mysql -u -p 로 접속해주시는데 계정이 따로 없으니 root(관리자계정)로 들거가서 아까 만들어둔 비밀번호를 입력해서 접속 하면됩니다.

이제 실습을 위해서 게정 생성.관한부여.테이블 까지 만들어 두고 실습을 진행하면 될거같습니다.

 

컨테이너 삭제

docker rm <container id(hash코드 라고 썻던것. 컨테이너 아이디 밑에 있는 숫자와 문자)> 
or 
docker rm <container name> ex) 저는 BBS

나중에는 삭제가 잘되었는지 docker ps로 한번더 확인해주세요

 

docker 이미지 삭제

docker rmi <image id> 
or
docker rmi <image name>

삭제를 하신다면 삭제후 잘 삭제되었는지 확인도 해주세요

docker images

 

여기 까지가 기본 docker 명령어 입니다.

나중에 따로 공부를 하고싶긴한데 앞에배우는것도 아직 다안끝나서 이정도만 하고 시간되면 공부해보겠습니다

 

혹시나 해서 적는 user 생성 권한부여 적용 데이터베이스 까지 만들기


mysql> CREATE USER 'sang'@'%' IDENTIFIED BY 'sang';
Query OK, 0 rows affected (0.02 sec)
= 처음sang는 user이름 IDENTIFIED 뒤에는 비밀번호

mysql> GRANT ALL PRIVILEGES ON *.* TO 'sang'@'%';
Query OK, 0 rows affected (0.02 sec)
= 권한부여 'sang' 는 user 아이디

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
= 권한 준것 적용

mysql> CREATE DATABASE BBS default CHARACTER SET UTF8;
Query OK, 1 row affected, 1 warning (0.02 sec)
= 데이터 베이스 BBS 생성
mysql>

 

'docker' 카테고리의 다른 글

docker 로 oracle 이미지 다운받고 사용하기  (0) 2023.02.08