我制作了一个与SFTP服务器连接并读取数据的python代码。当我在计算机上运行python脚本时,效果很好。
出于部署目的,我需要一个docker映像。所以我做了一个。
但是,当我运行docker容器时,出现以下错误:
Dockerfile代码:
FROM python:3
ADD sftp.py /
ADD config.properties /
RUN pip install pandas pysftp requests configparser
CMD ["python","./sftp.py"]
用于连接sftp的Python代码:
cnopts = pysftp.CnOpts(knownhosts=None)
cnopts.hostkeys = None
with pysftp.Connection(host=hostname,username=username,password=password,cnopts=cnopts) as sftp:
sftp.chdir("Optimove_Output")
我无法弄清为什么它不能在docker容器中工作。由于此代码在没有容器的情况下可以运行。
答案 0 :(得分:1)
那是因为在您的本地主机中有文件“ known_hosts”,请尝试运行您的容器,以便:
docker run -v $HOME/.ssh/known_hosts:/root/.ssh/known_hosts sbtech2