티스토리 뷰

728x90
반응형
컨테이너 생성 시 22 port 추가
  • 3306/tcp, 3306->22/tcp port가 추가되어 있으면 정상적으로 된것을 확인할 수 있습니다.
docker run -d -p 3306:22 -e MYSQL_ROOT_PASSWORD=12345 --name mysql-container -v /home/mysql/:/var/lib/mysql mysql:8.0.28 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-allowed-packet=1073741824

 

컨테이너에 접속하여 ssh 설치
# 1. 해당 컨테이너 접속
docker exec -it mysql-container bash 

# 2. ssh 설치
apt-get update
apt-get upgrade 
apt-get install net-tools vim openssh-server -y

# 3. 설치가 잘 되어있는지 확인 명령어 입력
which sshd    

# 4. 이렇게 뜨면 정상적으로 설치 완료
/usr/sbin/sshd

 

비밀번호 설정(sshd_config, root password 변경)
  • ssh 접속을 할 때 물어볼 비밀번호를 설정할려면 먼저 /etc/ssh 아래에 있는 sshd_config파일을 수정해야 합니다.
  • #PermitRootLogin prohibit-password 부분을 주석을 제거하고 prohibit-password를 yes로 변경합니다.
  • 그렇게 저장을 하고 난 후 다시 bash로 돌아와서 root의 password를 변경합니다. 
# 1. sshd_config 파일 열기
vim /etc/ssh/sshd_config

# 2. 아래 라인을 찾아서 변경합니다.
#PermitRootLogin prohibit-password -> PermitRootLogin yes

# 3. 위의 작업을 완료 후 아래 명령어를 입력하여 비밀번호를 입력합니다.
passwd root -> 비밀번호 입력

 

해당 컨테이너 접속하여 ssh 시작
# 1. ssh 시작
service ssh start

# 2. ssh 상태 확인
service ssh status

 

SSH Port 확인
  • 밑에 빨간색 박스를 보면 22번 포트가 172.17.0.4에 할당된 것을 볼 수 있습니다.
# 명령어를 입력하여 22번 포트 확인
sudo iptables -t nat -L -n

 

툴로 접근하기
  • dbeaver를 사용했습니다.
  • Main
    • Server Host는 위에서 확인한 도커와 연결된 IP
    • Username : Mysql 아이디
    • Password : Mysql 비밀번호
  • SSH
    • Host/IP : EC2의 퍼블릭 IPv4의 주소
    • User Name : root
    • Password : SSH의 비밀번호

 

아래 참고글을 보지 못했더라면 하다가 포기할뻔 했다,,,

 

참고) 

https://prup.tistory.com/55

 

728x90
반응형