본문 바로가기
2023년 이전/Web&Server

Docker에서 mySql 실행하기 - container 접속하기

by JeongUPark 2019. 12. 2.
반응형

Docker를 사용해서 Mysql을 구동할 수 있습니다. (image의 경우 직접 만들거나 다운 받을 수 있습니다.) image를 만들고(혹은 구하고) container를 만들어 구동을 합니다.

 

자 그럼 이제 mysql에 접속을 해야하는데 어떻게 해야할까요!!?

 

1. docker inspect를 사용

docker inspect를 명령어를 치면 구동 중인 container의 정보를 확인 할 수 있습니다.

docker inspect container_id

그리고 거기서 gatewayip를 사용하여 mysql 접속을 합니다.

mysql -u [아이디] -p[비밀번호] --port [포트] --host [gateway ip]

위 명령어에서 중요한점은 -p 다음에 띄어쓴후 비밀번호를 입력한게 아니라 -p다음에 붙여서 비밀번호를 입력했습니다.

 

2. docker exec

docker exec의 기본은 다음과 같습니다.

docker export <옵션> <컨테이너 이름, ID> <명령> <매개 변수>

그래서 

docker exec -i -t [아이디 or 컨테이너 이름] /bin/bash

명령어를 사용하면 container에 접속할 수 있고

mysql -u [아이디] -p[비밀번호]

입력하면 mysql에 접속할 수 있습니다. (다른 실행 파일에 접속하려면 그에 맞는 환경이 container에 포함되어 있고 그 파일에 맞는 접속 방법을 사용하면 됩니다.)

 

위의 exec 에서 옵션 -i와 -t는

-i, --interactive          Keep STDIN open even if not attached 
    --privileged           Give extended privileges to the command
-t, --tty                  Allocate a pseudo-TTY

 

이렇게 설명되어 있습니다.

 

그리고 exec는 container가 실행되어 있어야 동작하지만 run 명령어를 사용하면 container를 실행하고 명령어를 수행합니다. 그 방식은

docker run --name [원하는 컨테이너 NAME] [이미지명] [실행 명령어]

이렇게하면 container가 만들어지고 명령어도 수행됩니다.

반응형