개발자의뇌

docker로 vsftpd 간단하게 설치하기 본문

개발/docker

docker로 vsftpd 간단하게 설치하기

devbrain 2020. 7. 3. 15:57

급하게 ftp 서버를 올릴 필요가 있을 경우

리눅스에서는 대부분 vsftpd를 설치하여 사용하는데

기능과 성능이 엄청 좋은 반면에 기본 설정이 은근히 까다롭다.

특히 리눅스에서 사용자 설정 및 virtual user 설정 등이 처음 접하기엔 까다롭다.

그리고 vsftpd를 자주 사용하지 않으면 쉽게 셋팅하기도 어렵다.

 

그래서 docker에서 잘 만든 이미지를 주워다가 간단한 셋팅으로 손쉽게 ftp 서버를 구축해 본다.

 

테스트 환경 

- CentOS7

- docker v19.03.12

 

# 쉘 스크립트 작성

# FTP_USER, FTP_PASS, PASV_ADDRESS 는 자신의 환경에 맞게 변경할 것

 

vi ftp_run.sh

#!/bin/bash

docker pull fauria/vsftpd

mkdir -p /test/ftp

docker run -d -v /test/ftp:/home/vsftpd \
-p 20:20 -p 21:21 -p 30000-30010:30000-30010 \
-e FTP_USER=ftpuser -e FTP_PASS=uniqpassword \
-e PASV_ADDRESS=192.168.0.123 -e PASV_MIN_PORT=30000 -e PASV_MAX_PORT=30010 \
--name vsftpd --restart=always fauria/vsftpd

docker logs vsftpd

 

# 방화벽 등록

firewall-cmd --permanent --add-port=20/tcp

firewall-cmd --permanent --add-port=21/tcp

firewall-cmd --permanent --add-port=30000-30010/tcp

firewall-cmd --reload-all

firewall-cmd --list-all

 

# ftp 접속하여 확인

# 파일 다운로드/업로드 콘텐츠 경로는 /test/ftp/<FTP_USER> 경로가 되는데

# 여기서는 ftpuser 가 ID이므로 /test/ftp/ftpuser 경로를 사용한다.

 

이렇게 손쉽게 ftp 서버를 구축하여 사용할 수 있다.

virtual user를 여러개 등록하여 사용하고 싶은 경우 아래 링크의 virtual user 항목을 참조하여 설정한다.

링크 : https://hub.docker.com/r/fauria/vsftpd/

 

Comments