새로운 터미널 띄우기
https://3.34.134.110:8888/terminals/3
모든 도커 컨테이너 삭제하기
root@ip-172-31-42-206:~# docker ps -a
root@ip-172-31-42-206:~# docker rm -f docker ps -a -q
모든 도커 이미지 삭제하기
root@ip-172-31-42-206:~# docker images
root@ip-172-31-42-206:~# docker rmi -f docker images
root@ip-172-31-42-206:~# sudo apt install mysql-client-core-5.7
https://hub.docker.com/_/mysql
기본적으로 도커허브에 존재함
https://ndb796.tistory.com/314 참고 블로그고 블로그
-d 데몬에 있는 도커를 백그라운드로 실행한다
호스트의 9876포트와 컨테이너의 3306포트(mysql의 기본포트)를 연결해주고
-e로 패스워드 환경설정을 변경한다
root@ip-172-31-42-206:~# docker run -d -p 9876:3306 -e MYSQL_ROOT_PASSWORD=password mysql:5.6
컨테이너 아이디와 배쉬를 활용해 접근한다
root@ip-172-31-42-206:~# docker ps -a
root@ip-172-31-42-206:~# docker exec -it ed8280f6e55f /bin/bash
root@ed8280f6e55f:/# mysql -u root -p
비밀번호 위에서 설정한 password 입력하고
데이터베이스 생성하기
mysql> CREATE DATABASE TEST;
mysql> SHOW DATABASES;
exit;
exit
root@ip-172-31-42-206:/# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd120f554e9e mysql:5.6 "docker-entrypoint.s…" 15 minutes ago Up 15 minutes 0.0.0.0:9876->3306/tcp romantic_jepsen
9876포트번호랑 3306이랑 연결되어 있구나!
root@ip-172-31-42-206:~# docker inspect 컨테이너아이디
"NetworkSettings": {
"Bridge": "",
"SandboxID": "ee3062135ec7d64603aad823ed9d05be6fe5875407886aaefdcead3e14119a25",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"3306/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "9876"
}
]
},
...
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "feb67e494130f8dcdbe6e35cdc4971ba0bdc5b414fe184b970c06f090c1cd565",
"EndpointID": "c3da278ff70cea6a41901319b48b64924270d09813d72e26a5cf05847c387d47",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02",
"DriverOpts": null
}
}
root@ip-172-31-42-206:~# mysql -u root -p --host 172.17.0.2 --port 3306
컨테이너의 9876포트번호와 3306포트를 맞춰놨기 때문에 9876으로도 접속이 가능하다
root@ip-172-31-42-206:~# mysql -u root -p --host 172.17.0.1 --port 9876
!주의!
도커 컨테이너는 언제든지 삭제될 수 있기 때문에 MYSQL 서버로는 이용하지 않는다
User 데이터 베이스를 생성하고 test사용자에게 권한 부여
use mysql;
CREATE USER 'test'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON . TO 'test'@'%';
FLUSH PRIVILEGES;
exit;
도커 재시작
docker ps -a
docker restart 컨테이너아이디
AWS 보안관리에서 인바운드 규칙 추가
사용자 지정 TCP TCP 9876 0.0.0.0/0
heidiSQL에서 확인하기
호스트명 3.34.134.110
사용자 test
암호 password
포트 9876
heidiSQL에서 쿼리문 select version() 을 입력하니
5.6.51 이 나왔다.