도찐개찐
[Docker] SSH로 Docker Contrainer에 접속하는 방법 본문
[Docker] SSH로 Docker Contrainer에 접속하는 방법
도개진 2023. 2. 27. 14:48Putty, Mobaxterm 등 SSH 프로토콜로 Docker Contrainer에 접는하는 방법을 알아보자.
1. 포트를 개방한 컨테이너 생성
먼저 외부에서 접근할 포트랑 내부에서 사용할 포트를 바인딩 시켜서 컨테이너를 생성해야 한다.
생성된 컨테이너에서 추가로 포트를 여는 작업은 까다로운 것 같다. 그와 관련된 글은 아래 주소에 있다.
docker run -it -p 5222:22 -p 5280:80 --name 'deep_1' pytorch/pytorch:1.9.0-cuda10.2-cudnn7-devel |
-> 외부에서 5222포트로 접근하면 내부 22번 포트로 연결된다.
2. 필수유틸 설치
apt-get update |
apt-get install net-tools vim openssh-server |
openssh-server : ssh로 접근하기 위해 필요하다
net-tools : ifconfig 사용하기 위해 (ip 알아내는 명령어), 꼭 필요하진 않은 듯..??
vim : 텍스트 에디터 (nano, vi, emacs 등도 가능하다.)
3. 환경 셋팅
## SSH 셋팅
vim /etc/ssh/sshd_config <- ssh에서 root계정으로 접근하기 위해서 변경해줘야 한다. |
PermitRootLogin 부분을 다음과 같이 바꾸면 된다.
## 컨테이너 root 계정 암호 설정
터미널에 다음 명령어를 쳐서 root계정의 암호를 설정한다
passwd root |
## ssh 서비스 시작 명령어
service ssh start |
-> 컨테이너 종료 후 다시시작하면 ssh가 자동으로 안 켜진다...
4. SSH 접속
연결이 계속 안되서 고생을 한참했는데, 아직까진 외부접속으로 사용해 본 적은 없고, 내부에서 로컬수준에서 성공한 방법이다.
컨테이너 ip정보
보면 컨테이너 ip가 172.17.0.2이다. 그래서 당연히 저 ip로 접근을 했는데 계속 실패를 했다.
이유는 모르겠는데, localhost인 127.0.0.1로 시도해봤더니 성공했다.
포트는 처음에 5222을 22로 바인딩 했기 때문에 5222로 하면 된다.
성공하면
그러면 이렇게 접속에 성공 할 수 있다.
'Infra ------------------------- > DOCKER' 카테고리의 다른 글
[Docker] docker vs VM (0) | 2023.03.14 |
---|---|
[docker] cache 데이터 삭제 (0) | 2023.03.13 |
[Docker] sudo 없이 docker 명령어 사용 (0) | 2023.02.24 |
[Docker] 컨테이너(Container), 이미지(Image) 일괄 삭제 (0) | 2022.07.19 |
[MacOS] Docker + React 빌드 및 배포 (0) | 2022.04.19 |