I copied what is in this blog: https://www.xavignu.com/?p=1667 but can't ftp in.
I am running on Windows 10 using Docker Quickstart Terminal. When I run
docker --version
I get:
Docker version 18.09.3, build 774a1f4eee
I made some small changes. So my actual files are: vsftpd.conf
anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
local_umask=022
pam_service_name=vsftpd.virtual
guest_enable=YES
user_sub_token=$USER
local_root=/home/vftp/$USER
chroot_local_user=YES
allow_writeable_chroot=YES
hide_ids=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
vsftpd.virtual
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
account required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
session required pam_loginuid.so
vusers.txt
ftpuser
letmein
centos-vsftpd
# Dockerfile for vsftpd on CentOS
FROM centos:7
#FROM fedora:14
MAINTAINER xavi@xavignu.com
RUN yum -y update; yum -y install which vsftpd net-tools vsftpd-sysvinit; yum clean all
COPY vusers.txt /etc/vsftpd/
RUN db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vsftpd-virtual-user.db; rm -v /etc/vsftpd/vusers.txt; \
chmod 600 /etc/vsftpd/vsftpd-virtual-user.db
COPY vsftpd.conf /etc/vsftpd/
COPY vsftpd.virtual /etc/pam.d/
RUN mkdir -p /home/vftp/ftpuser; chown -R ftp:ftp /home/vftp
EXPOSE 20 21
CMD ["/usr/sbin/vsftpd","-obackground=NO"]
When I run:
docker build -t centos-vsftpd -f centos-vsftpd .
I get
Sending build context to Docker daemon 5.632kB Step 1/10 : FROM centos:7 ---> 5e35e350aded Step 2/10 : MAINTAINER xavi@xavignu.com ---> Using cache ---> 5d3678c186ef Step 3/10 : RUN yum -y update; yum -y install which vsftpd net-tools vsftpd-sysvinit; yum clean all ---> Using cache ---> e8f9bd668fd7 Step 4/10 : COPY vusers.txt /etc/vsftpd/ ---> Using cache ---> e99de963d214 Step 5/10 : RUN db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vsftpd-virtual-user.db; rm -v /etc/vsftpd/vusers.txt; chmod 600 /etc/vsftpd/vsftpd-virtual-user.db ---> Using cache ---> 2afd82b0d521 Step 6/10 : COPY vsftpd.conf /etc/vsftpd/ ---> Using cache ---> c2cf93124456 Step 7/10 : COPY vsftpd.virtual /etc/pam.d/ ---> Using cache ---> 751b36e2a908 Step 8/10 : RUN mkdir -p /home/vftp/ftpuser; chown -R ftp:ftp /home/vftp ---> Using cache ---> 8e40b2c6857f Step 9/10 : EXPOSE 20 21 ---> Using cache ---> 721b161ef41f Step 10/10 : CMD ["/usr/sbin/vsftpd","-obackground=NO"] ---> Using cache ---> d411b32e138a Successfully built d411b32e138a Successfully tagged centos-vsftpd:latest SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.
When I run
docker run -d --name myftp centos-vsftpd:latest; docker ps
I get:
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: Conflict. The container name "/myftp" is already in use by container "05a1533975a6fb703a92d9a185f2ed5ffef6843f4ff5a3298037759cffadff85". You have to remove (or rename) that container to be able to reuse that name. See 'C:\Program Files\Docker Toolbox\docker.exe run --help'. CONTAINER ID IMAGE COMMAND
CREATED STATUS PORTS
NAMES d069ad5b8751 fauria/vsftpd
"/usr/sbin/run-vsftp…" 23 hours ago Up 23 hours
0.0.0.0:20-21->20-21/tcp, 0.0.0.0:21100-21110->21100-21110/tcp vsftpd bee37fe97faa elwyn5150/get-started:part2 "python app.py" 24 hours ago Up 24 hours 80/tcp
getstartedlab_web.4.eyhn8lla4z9jk2w759yirkc40 cbd4e22a05f3
elwyn5150/get-started:part2 "python app.py" 24 hours ago Up 24 hours 80/tcp
getstartedlab_web.3.7jf7ko695b7vge176n4cvt5fu 1072a9d62add
elwyn5150/get-started:part2 "python app.py" 24 hours ago Up 24 hours 80/tcp
getstartedlab_web.5.714wm1hfrjt9kpwqgdomptbmh 6ca018732d0e
elwyn5150/get-started:part2 "python app.py" 24 hours ago Up 24 hours 80/tcp
getstartedlab_web.1.5w5v62j9zbhooeulx97v286q3 cfc72b5ba0fc
elwyn5150/get-started:part2 "python app.py" 24 hours ago Up 24 hours 80/tcp
getstartedlab_web.2.abdeplq9ocx0mgq890w034g85 f1921c8a441e
dockersamples/visualizer:stable "npm start" 24 hours ago Up 24 hours 8080/tcp
When I try to ftp to localhost (using default port number), I get connection refused.
There are various things that I've tried but not worked for me. I've tried various IP addresses and numerous different port numbers but still been unable to connect. I have also changed the Windows defender firewall 's inbound rules to allow other ports to work.
What host and port should I be using? What else can I try?