如何使用Docker容器创建vsftpd服务器?

时间:2020-06-23 17:34:29

标签: docker docker-compose vsftpd

我正在使用powershell创建docker容器,所以我找到了一个dockerfile并尝试使用dockerfile来构建映像,这样我就可以创建我的docker容器,一旦它运行它就给我这个错误“复制失败:stat / var /lib/docker/tmp/docker-builder246732598/vsftpd.conf:没有这样的文件或目录。另外,一旦工作,如何用ftp服务器创建docker容器?

这是我的dockerfile中的内容

FROM centos:7

ARG USER_ID=14
ARG GROUP_ID=50

MAINTAINER Fer Uria <fauria@gmail.com>
LABEL Description="vsftpd Docker image based on Centos 7. Supports passive mode and virtual users." \
    License="Apache License 2.0" \
    Usage="docker run -d -p [HOST PORT NUMBER]:21 -v [HOST FTP HOME]:/home/vsftpd fauria/vsftpd" \
    Version="1.0"

RUN yum -y update && yum clean all
RUN yum install -y \
    vsftpd \
    db4-utils \
    db4 \
    iproute && yum clean all

RUN usermod -u ${USER_ID} ftp
RUN groupmod -g ${GROUP_ID} ftp

ENV FTP_USER **String**
ENV FTP_PASS **Random**
ENV PASV_ADDRESS **IPv4**
ENV PASV_ADDR_RESOLVE NO
ENV PASV_ENABLE YES
ENV PASV_MIN_PORT 21100
ENV PASV_MAX_PORT 21110
ENV XFERLOG_STD_FORMAT NO
ENV LOG_STDOUT **Boolean**
ENV FILE_OPEN_MODE 0666
ENV LOCAL_UMASK 077
ENV REVERSE_LOOKUP_ENABLE YES

COPY vsftpd.conf /etc/vsftpd/
COPY vsftpd_virtual /etc/pam.d/
COPY run-vsftpd.sh /usr/sbin/

RUN chmod +x /usr/sbin/run-vsftpd.sh
RUN mkdir -p /home/vsftpd/
RUN chown -R ftp:ftp /home/vsftpd/

VOLUME /home/vsftpd
VOLUME /var/log/vsftpd

EXPOSE 20 21

CMD ["/usr/sbin/run-vsftpd.sh"]

1 个答案:

答案 0 :(得分:0)

缺少文件(vsftpd.conf)。您不仅需要复制Dockerfile,还需要复制找到该Dockerfile的所有其他文件。将文件放在Dockerfile所在的目录中,然后再次运行build命令。