EPguy
Docker FTP 서버 3분만에 구축해보자 본문
1. 컨테이너 생성
docker run -d -it -p 8181:8181 -p 50001:21 -p 30001:30001 --name testFtp tomcat:8.5
먼저 원하는 이미지로 컨테이너를 생성합니다.
이 때 FTP에 필요한 포트도 개방해야합니다.
참고로 저는 톰캣서버도 올릴거라 톰캣이미지로 생성했습니다.
여기서 8181 포트는 톰캣서버로 연결될 포트,
50001번은 21번 포트로 연결되는 Command 포트,
30001포트는 Data 포트 입니다.
패시브 모드를 사용할 것이기 때문에 Data포트는 20번이 아닌 임시로 지정하였습니다.
이렇게 FTP에서 사용될 포트는 Command 포트 및 Data 포트로 총 2개입니다.
2. vsftpd 설치
docker exec -it testFtp bash
위 명령어로 컨테이너 내부로 들어갑니다.
apt-get update
apt-get install vsftpd
apt-get install vim
위 명령어로 vsftpd 및 vim을 설치합니다.
3. adduser로 계정생성
adduser testuser
FTP에 접속 할 유저를 생성해줍시다.
4. vsftpd 설정파일을 수정
패시브모드를 사용하기 때문에 Data포트를 설정 해줘야합니다. 설정을 안해주면 아래 사진처럼 Data 포트를 찾지 못해서 통신이 되지 않습니다.
vi /etc/vsftpd.conf
vim을 사용하여 설정 파일을 열어줍니다.
#패시브 모드 활성화
pasv_enable=YES
#Data 포트 범위설정
pasv_min_port=30001
pasv_max_port=30001
#패시브모드로 연결될 ip(포트제외 서버ip만 적어주세요)
pasv_address=serverIp
위 4가지 설정을 추가해주세요.
service vsftpd restart
vsftpd 재시작을 통해 변경한 설정을 적용합시다.
5. FTP에 접속
파일질라 같은 프로그램을 통해 FTP에 접속해보세요.
호스트는 pasv_address에서 설정한 server ip를 입력해주시고
사용자명과 비밀번호는 adduser 로 생성한 계정 정보를 입력해주세요.
포트는 Command 포트로 연결되는 50001 포트를 입력해주세요.
6. 파일 업로드나 수정이안된다면?
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
위 3가지 설정을 주석처리 해서 권한수정을 해주세요.
끝..!