FTP Server di Docker Container
FTP Server (Cara 1)[edit]
Cara 1 ini menggunakan proftpd. Untuk menginstall proftpd diperlukan apache.
docker run -dit --name my-apache-app -p 80:80 -p 21:21 -p 1100-1110:1100-1110 httpd:2.4
Jalankan container my-apache-app di dalam docker.
docker exec -it my-apache-app /bin/bash
Update dulu.
apt-get update
Install proftp.
apt-get install proftpd
Install edit nano.
apt-get install nano
Edit proftpd.conf
nano /etc/proftpd/proftpd.conf
bagian yang perlu di edit adalah :
# DefaultRoot ~ DefaultRoot ~
# RequireValidShell off RequireValidShell off
# PassivePorts 49152 65534 PassivePorts 1100 1110
# MasqueradeAddress 1.2.3.4 MasqueradeAddress 127.0.0.1
Cek status proftpd.
/etc/init.d/proftpd status ProFTPD is started in standalone mode, currently not running.
Jalankan proftpd.
/etc/init.d/proftpd start
Starting ftp server: proftpd.
Cek kembali status proftpd.
/etc/init.d/proftpd status
ProFTPD is started in standalone mode, currently running.
Tambahkan user dan password.
useradd -d /home/ftpuser -s /sbin/nologin ftpuser passwd ftpuser New password: Retype new password: passwd: password updated successfully
Buat folder sesuai user yang di buat.
mkdir /home/ftpuser
Cek atribut folder /home
ls -latr /home total 12 drwxr-xr-x 1 root root 4096 May 8 09:31 .. drwxr-xr-x 2 root root 4096 May 8 09:41 ftpuser drwxr-xr-x 1 root root 4096 May 8 09:41 .
Sesuaikan atribut ftpuser dan .
chown -R ftpuser:ftpuser /home/ftpuser chmod -R 755 /home/ftpuser
Restart proftpd
/etc/init.d/proftpd restart Stopping ftp server: proftpd. Starting ftp server: proftpd2025-05-08 09:49:10,107 6fcc50d55c57 proftpd[953] 6fcc50d55c57: 172.17.0.6:21 masquerading as 10.8.80.3
Saatnya menguji proftpd menggunakan FTP Client.
FTP Server (Cara 1)[edit]
sudo mkdir ftp-server sudo nano Dockerfile isinya : FROM ubuntu:latest RUN apt-get update && apt-get install -y proftpd RUN echo "PassivePorts 10090 10100" >> /etc/proftpd/proftpd.conf RUN echo "MasqueradeAddress 10.8.80.3" >> /etc/proftpd/proftpd.conf RUN useradd -m ftpbele && echo "ftpbele:belelalu" | chpasswd RUN chown -R ftpbele:ftpbele /home/ftpbele RUN chmod -R 775 /home/ftpbele #RUN echo '<Directory /home/ftpbele>\n\ # Umask 022 022\n\ # AllowOverwrite on\n\ # <Limit WRITE>\n\ # AllowAll\n\ # </Limit>\n\ #</Directory>' >> /etc/proftpd/proftpd.conf EXPOSE 2112 EXPOSE 10090-10100 CMD ["proftpd", "-n"]
jalankan build
docker build -t proftpd-image .
Jalankan Docker Run
docker run -d -p 2121:21 -p 10090-10100:10090-10100 proftpd-image
Lakukan uji menggunakan aplikasi FTP Client