안녕하세요. 달소입니다.
오늘은 도커를 통해 간단하고 쉽게 FTP를 구축하는 방법입니다.
FTP의 경우 간단하게 구축하고 간단하게 사용이 가능해서 IT를 좋아하시는분들이라면 한번쯤은 겪게되실텐데 이김에 한번 체험해보시는것도 좋습니다.
이미지 소개
fauria / vsftpd
이 Docker 컨테이너는 다음 기능과 함께 vsftpd 서버를 구현합니다.
Centos 7 기본 이미지.
vsftpd 3.0
가상 사용자
패시브 모드
파일 또는 STDOUT에 로깅.
환경변수등 자세한 정보는 아래 도커허브에서 보시면 됩니다.
https://hub.docker.com/r/fauria/vsftpdDocker Hubub.docker.com
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 옵션으로 변경가능한