728x90

서버를 빌려서 사용하는 종류는 용도에 따라서 나눌 수 있다

 

웹호스팅: 홈페이지를 운영할 목적이고 웹관련된 폴더에 업로드하여 운영할때 사용하고 비용이 저렵하다.

서버호스팅: 서버를 통째로 임대하여 사용하는 것으로 사용자 마음대로 프로그램 설치등을 할 수 있지만 독립으로 사용하는 만금 사용 비용이 고가이다.

 

웹서버로서의 역할만이 아니고 요즘 흔하게 사용되어지는 인공지능이라도 사용하려면 비싼 서버호스팅을 할수밖에는 없다. 하지만 다행 스럽게도 크라우드 서버가 출현하여 비용 절감에 큰 몫을 하고 있다.

 

이번에는 그와 비슷한 실습 환경을 만들기 위해서 Docker를 사용하여 클라우드 서버를 구축하여 실습을 가기로 해서 그 방법을 정리해둔다.

 

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

컨테이너 생성

ubuntu:20.04 image 를 pull 받는다.

docker pull ubuntu:20.04 
$ docker images

pull 받은 image 로 container 를 생성.

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

apt-get sudo 를 설치한다

옵션 설명

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

서버 포트 또한 개방해야 외부에서 putty 로 접속 할 수 있다.

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

$ sudo ufw allow 777

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

$ docker exec -it ubuntu_20_04 /bin/bash

docker container 의 내부로 진입했을 경우 apt update 를 해야 다른 모듈들을 설치할 수 있다.

아래 명령어를 컨테이너 내부에서 실행한다.

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

vi /etc/ssh/sshd_config 파일을 수정해야한다.

# vi /etc/ssh/sshd_config

 PermitRootLogin 부분을 yes 로 변경한다. (주석 #해제 및 yes로 변경)

## 컨테이너 root 계정 암호 설정

터미널에 다음 명령어를 쳐서 root계정의 암호를 설정한다

passwd root


 


-> 컨테이너 종료 후 다시시작하면 ssh가 자동으로 안 켜진다...

# service ssh start
# service ssh restart

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

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

 

이제 파일 전송을 위한 ftp를 설정하면 된다

 

목동코딩학원 : 온라인코딩교육, 유니티게임개발교육, 로블록스게임개발교육, 한국서비스산업진흥원, 플랫폼프로젝트수업

728x90

+ Recent posts