인프라

docker SSH 를 사용하여 docker 컨테이너에 연결방법

소행성왕자 2023. 2. 8. 16:55

- docker 컨테이너 보기

docker ps -a
CONTAINER ID   IMAGE               COMMAND                  CREATED             STATUS              PORTS                                   NAMES
6fccd20b4f14   apm_each_apache2    "apachectl -D FOREGR…"   About an hour ago   Up About an hour    0.0.0.0:9080->80/tcp, :::9080->80/tcp   apache2

- 해당 컨테니어의 ip 주소 가져오기

  docker inspect 명령을 사용하고 결과를 필터링 하여 컨테이너의 ip 주소를 가져옵니다.

최신 docker 엔진

sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" apache2

이전 docker 엔진

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' apache2
[cofor@localhost apm_each]$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' apache2
172.23.0.3172.22.0.3

- ip 주소 ping 보내 사용가능한지 확인합니다.

ping -c 3 172.22.0.3

- ssh 사용하여 컨테이너에 연결합니다.

ssh root@172.23.0.3

whoami 실행후 현재 확인해봐야 합니다.

 

apt install ssh
apt install openssh-server

vi /etc/ssh/sshd_config
...
PermitRootLogin yes 

service ssh start
service ssh status

 

 

참고

- docker 컨테이너에 접속

docker exec -it apache2 bash

- docker 컨테이너에서 빠저나올때   

ctrl + p + q