도커로 FTP서버 쉽게 구축하기.
안녕하세요. 달소입니다.
오늘은 도커를 통해 간단하고 쉽게 FTP를 구축하는 방법입니다.
FTP의 경우 간단하게 구축하고 간단하게 사용이 가능해서 IT를 좋아하시는분들이라면 한번쯤은 겪게되실텐데 이김에 한번 체험해보시는것도 좋습니다.
이미지 소개
fauria / vsftpd
이 Docker 컨테이너는 다음 기능과 함께 vsftpd 서버를 구현합니다.
Centos 7 기본 이미지.
vsftpd 3.0
가상 사용자
패시브 모드
파일 또는 STDOUT에 로깅.
환경변수등 자세한 정보는 아래 도커허브에서 보시면 됩니다.
https://hub.docker.com/r/fauria/vsftpd
Docker 실행하기
당연히 도커는 설치가 되있으리라 생각되니 바로 실행 명령어를 통해 컨테이너를 만들어보겠습니다.
실행전에 컨테이너에 매칭시켜줄 데이터폴더를 미리 만들어줍시다.
mkdir -p /data/ftp/data
docker run -d -v /data/ftp/data:/home/vsftpd \
-p 20:20 -p 21:21 -p 21100-21110:21100-21110 \
-e FTP_USER=dalso -e FTP_PASS=password \
-e PASV_ADDRESS=127.0.0.1 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 \
--name dalso-ftp --restart=always fauria/vsftpd
-d -v /data/ftp/data:/home/vsftpd
=> 맨 윗줄부터 -d는 데몬으로 실행 -v는 볼륨매칭(중요!) 호스트의 폴더와 ftp컨테이너의 데이터 폴더를 매칭
-p 20:20 -p 21:21 -p 21100-21110:21100-21110
=> 포트 매칭, 패시브 && 액티브 && 데이터포트 범위 지정
-e FTP_USER=dalso -e FTP_PASS=password
=> FTP에 사용될 USER/PW 정보
-e PASV_ADDRESS=127.0.0.1 -e PASV_MIN_MIN_PORT=21100 -e PASV_MAX_PORT=21110
=> 패시브모드에서 데이터 포트 및 주소정보
--name dalso-ftp --restart=always fauria/vsftpd
=> 컨테이너 이름 / 리부팅시 항상 시작 / 이미지 정보
뭐 이정도입니다.
이제 직접 실행해보겠습니다.
실행되면 아래처럼 포트가 다열리게되는데 용도는 위에설명한대로입니다.
FTP 서버 접근하기
간단하게 폴더를 열어서 ftp://[ip]:21 이런식으로 접근해주시면됩니다.
테스트를 위해 간단하게 파일을 넣어봤습니다
호스트 경로에서도 보면 파일이 잘들어간걸 확인할 수 있습니다.
기타 권한 수정도 -e 옵션으로 변경가능한