docker 에 ubuntu 설치 후 putty 를 통해 접속하기

STEVELOPER·2022년 11월 7일
0

docker

목록 보기
1/4

docker 로 ubuntu container 를 생성한 뒤 마치 독립된 서버처럼 putty 를 통해 접속하는 방법을 기록한다.

우선 docker container 에 접속하는 서버, 즉 docker 가 설치되는 서버가 필요하다.
서버에 docker 가 설치된 이후의 과정을 기록한다.

본론

docker pull ubuntu:20.04 를 통해 ubuntu:20.04 image 를 pull 받는다.
pull 이 완료가 되면

$ docker images

상기 커맨드를 통해 ubuntu:20.04 images 가 제대로 다운로드 되었음을 확인할 수 있다.
이제 이 image 로 container 를 생성할 것이다.

docker run -dit -p 32777:22 --privileged=true --name "ubuntu_20_04" ubuntu:20.04

상기 명령어에서

  • -d : 데몬 프로세스로 실행하여 프로세스가 끝나도 유지
  • -i : 사용자가 입출력 할 수 있는 상태
  • -t : 가상 터미널 환경 활성화
  • -p : 포트설정, 32777:22 로 지정시 docker 에 접속하는 서버의 32777 포트에 접속할 시
    해당 docker 컨테이너의 22 포트로 포트포워딩 된다.
  • --privileged : apt update 에러 대안
  • --name : 컨테이너의 이름 지정

상기 명령어대로 입력시 ubuntu:20.04 image 를 통해 container 가 생성되며, 접속하는 서버 32777 번 포트로 진입시 해당 컨테이너의 22 번 포트로 포트포워딩 되도록 지정된다.

사전 작업으로 접속하는 서버의 포트 또한 개방해놓아야 외부에서 putty 로 접속 할 수 있다.

접속하는 서버에서 하기와 같은 명령을 통해 포트를 개방한다.

$ sudo ufw allow 32777

이제 container 내부에서 해야할 작업이 남아있다.

$ docker exec -it ubuntu_20_04 /bin/bash

상기 명령어를 통해 docker container 의 내부로 진입할 수 있다.
처음 생성했을 경우 apt update 를 해주어야 다른 모듈들을 설치할 수 있다.
하기의 코드를 실행한다.

# apt update && apt install net-tools vim openssh-server ufw

apt update 후 net-tools, vim, openssh-server, ufw 를 설치한다.
설치 중 나오는 프롬프트에는 알맞게 입력해준다.

설치가 끝나면 우선 ufw 를 통해 ssh 를 allow 해준다.

# ufw allow ssh

우선 putty 를 통해 root 로 진입 시도를 해볼 것이기 때문에
/etc/ssh/sshd_config 파일을 수정해야한다.

# vi /etc/ssh/sshd_config

상기 명령을 통해 진입 후, PermitRootLogin 부분을 yes 로 변경한다. (주석 해제 및 yes 로 변경)

service ssh start 혹은 이미 ssh 를 시작한 경우라면 service ssh restart 를 통해 ssh 를 시작한다.

# service ssh start
# service ssh restart

putty 로 접속하는 서버의 ip 와 지정한 port(해당 포스트에서는 32777) 를 입력해 접속 시도한다.

해당 container 도 ubuntu 환경이므로 다른 유저를 생성해서 접속할 수 있다.

profile
JavaScript, Node.js, Express, React, React Native, GraphQL, Apollo, Prisma, MySQL

0개의 댓글