0
我嘗試通過ftp從python3 docker容器中下載文件,該容器是從官方docker hub python存儲庫構建的。在dockerized python3 ftp命令RETR引發ConnectionResetError
這裏是Python代碼的一個小例子,我試圖執行:
import ftplib
ftp = ftplib.FTP("ftp.geneontology.org")
ftp.login()
ftp.sendcmd("MDTM /go/ontology/go-basic.obo")
ftp.retrbinary("RETR /go/ontology/go-basic.obo", callback=open("go-basic.obo", "wb").write)
此代碼的MDTM和RETR命令行之有效的主機。
但是,在python3 docker容器中只有MDTM命令有效。 RETR命令引發以下錯誤消息:
>>> ftp.retrbinary("RETR /go/ontology/go-basic.obo", callback=open("ich.obo", "wb").write)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/ftplib.py", line 443, in retrbinary
data = conn.recv(blocksize)
ConnectionResetError: [Errno 104] Connection reset by peer
>>>
我Dockerfile看起來是這樣的:
FROM python:3
CMD ["/bin/bash"]
我建立,這個順序進入容器和Python外殼:
docker build --tag bue/py3ftp .
docker images
docker run -ti --name=abc bue/py3ftp /bin/bash
python
我盒配置有以下軟件:
- OSX 10.11.6 ElCapitan
- VirtualBox的版本由搬運工機
- 搬運工機版本0.8.2使用5.1.8 r111374(Qt5.5.1),構建e18a919
- 搬運工版本1.12.3,構建6b644ec
- 蟒蛇3.5.2(默認11月10日2016年,8點25分20秒)泊塢窗容器
裏面有沒有人一個想法,其中的錯誤所在? 爲什麼這不起作用? 也許我必須打開一個端口或什麼?
感謝您的任何意見! Best, Elmar