如何创build一个在cron上运行wget并在OpenShift上通过ftp访问下载的文件的docker?

我想创build一个docker,无限期地每分钟运行一个wget。 要恢复与wget下载的文件,我想通过FTP访问。 使用的FTP服务器是vsftpd。

本地泊坞窗运行良好,可以通过FTP访问它,但是当Docker部署在OpenShift上时,容器不会启动,并且crond和vsftpd都不会运行。

在Docker上运行OpenShift必须做些什么?

Dockerfile:

FROM alpine:3.4 RUN apk update && apk add vsftpd RUN adduser -h /home/./files -s /bin/false -D files RUN echo "local_enable=YES" >> /etc/vsftpd/vsftpd.conf \ && echo "chroot_local_user=YES" >> /etc/vsftpd/vsftpd.conf \ && echo "write_enable=YES" >> /etc/vsftpd/vsftpd.conf \ && echo "local_umask=022" >> /etc/vsftpd/vsftpd.conf \ && echo "passwd_chroot_enable=yes" >> /etc/vsftpd/vsftpd.conf \ && echo 'seccomp_sandbox=NO' >> /etc/vsftpd/vsftpd.conf \ && echo 'pasv_enable=Yes' >> /etc/vsftpd/vsftpd.conf \ && echo 'pasv_max_port=10100' >> /etc/vsftpd/vsftpd.conf \ && echo 'pasv_min_port=10090' >> /etc/vsftpd/vsftpd.conf \ && sed -i "s/anonymous_enable=YES/anonymous_enable=NO/" /etc/vsftpd/vsftpd.conf RUN apk update && \ apk add wget && \ rm -rf /var/cache/apk/* COPY myScript /bin/myScript COPY cron /var/spool/cron/crontabs/root RUN chmod +x /bin/myScript RUN echo "files:mypassword" |/usr/sbin/chpasswd RUN chown files:files /home/files/ -R EXPOSE 20 21 10090-10100 VOLUME /home/files CMD /usr/sbin/crond -l 2 -L /var/log/cron.log | /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf 

cron的:

 * * * * * /bin/myScript 

myScript的:

 #!/bin/sh wget -P /home/files -nv http://www.google.com >> /var/log/cron.log 2>&1 

看来cron总是需要root,所以它不能在OpenShift上启动。 为了解决这个问题,我用Supercronic改了cron。

要下载数据,我正在使用openshift客户端工具,使用oc rsync命令