CoreOS构建docker镜像(CP100A培训)

时间:2018-03-23 08:55:45

标签: python docker google-cloud-platform

我目前正在研究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不应该负责安装吗?

  • 我该如何解决?

cp100-cloud-sql-python文件位于https://github.com/GoogleCloudPlatformTraining/cp100-cloud-sql-python.git

感谢您的回答。

1 个答案:

答案 0 :(得分:2)

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

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

因此,为了解决这个问题,我从

修改了应用程序内的Dockerfile
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所记录的那样,它可能不适用于所有事情。 我希望这能帮到某人