我目前正在“Google云平台基础知识”实验室中工作,但遇到了一些问题。
每次我必须使用CoreOS实例启动docker实例时,都会出现错误。

例如:在Cloud SQL实验室中,有时必须使用以下命令为刚刚从git repo克隆的文件夹构建一个docker镜像:

docker build -t cp100/cloudsql-python cp100-cloud-sql-python

这给了我一堵以错误结尾的文字墙:
 Downloading/unpacking flask
 Cannot fetch index base URL http://pypi.python.org/simple/
 Could not find any downloads that satisfy the requirement flask
 No distributions at all found for flask
 Storing complete log in /root/.pip/pip.log`

问题是,没有“/root/.pip/pip.log”文件。
所以这是我的问题:
  • 这些教程是否过时了?如果是,我在哪里可以找到最新的教程?
  • 为什么会发生?我认为这是因为未安装pip或Python或两者都没有,但是docker build命令不应该负责安装吗?
  • 我该如何解决?

  • https://github.com/GoogleCloudPlatformTraining/cp100-cloud-sql-python.git上提供了cp100-cloud-sql-python文件

    感谢您的回答。

    最佳答案

    好吧,我自己找到了答案:

    所以它不起作用的原因是pip(并且易于安装)使用HTTP,而pypi.python.org需要HTTPS,此问题在此处进一步记录:
    https://bugzilla.redhat.com/show_bug.cgi?id=1510444

    因此,为了修复它,我在

    FROM google/debian:wheezy
    MAINTAINER Sharif Salah <sharif.salah+docker@gmail.com>
    
    RUN apt-get update && \
        apt-get install -y python-dev python-pip python-mysqldb && \
        pip install flask
    
    ADD app /app
    
    EXPOSE 80
    
    CMD [ "python", "/app/app.py" ]
    


    FROM google/debian:wheezy
    MAINTAINER Sharif Salah <sharif.salah+docker@gmail.com>
    RUN apt-get update && \
        apt-get install -y python-dev python-setuptools python-mysqldb && \
        easy_install -i https://pypi.python.org/simple flask
    ADD app /app
    EXPOSE 80
    CMD [ "python", "/app/app.py" ]
    

    这将强制easy_install使用-i之后指定的地址。

    就我而言,它可以正常工作,但正如Bugzilla上记录的那样,它可能不适用于所有情况。
    我希望这会帮助某人

    关于python - CoreOS构建Docker镜像(CP100A培训),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49445712/

    10-16 16:56
    查看更多