我的Dockerfile
FROM python:3.7-alpine
ADD requirements.txt /code/requirements.txt
RUN apk --no-cache add --virtual build-dependencies \
build-base \
py-mysqldb \
gcc \
libc-dev \
libffi-dev \
mariadb-dev \
&& pip install -r /code/requirements.txt \
&& rm -rf .cache/pip \
&& apk del build-dependencies
RUN apk -q --no-cache add mariadb-client-libs
COPY . /code
...
我能够在本地构建图像。
但是当谷歌(云构建)试图构建图像时,我收到以下错误:
...
(28/28) Purging python2 (2.7.15-r0)
Executing busybox-1.28.4-r0.trigger
OK: 17 MiB in 34 packages
Removing intermediate container bc1fb0b1da92
---> bf2c564de5a5
Step 4/7 : RUN apk -q --no-cache add mariadb-client-libs
---> Running in 9c4fcad1f632
ERROR: unsatisfiable constraints:
**mariadb-client-libs (missing):**
required by: world[mariadb-client-libs]
The command '**/bin/sh -c apk -q --no-cache add mariadb-client-libs**' returned a non-zero code: 1
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: exit status 1
在线快速搜索建议repo could be offline,但我怀疑是这样的。 Google Cloud构建似乎阻止了对repo的访问。其他人遇到这个问题?有关如何解决此问题的任何指示?
关于@ helado的建议,我将上面的评论作为答案发布:
@helado:我犹豫是否发布了这个答案,因为它是一个绕过问题的解决方案。但我认为更重要的一点是这样的问题不应该阻止人们取得进展:)
----复制上面的粘贴评论----
当我尝试在本地构建它时它适用于我,但在谷歌云上失败。此外,它不是解决问题的正确方法,但我将我的依赖形式
mariadb-client-libs
切换到py-mysqldb
,现在一切正常。以防万一它可以帮助你:)