docker在alpine linux中构建python django应用程序时出错

bpzcxfmw  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(602)

dockerfile文件

FROM python:3.6.5-alpine3.7
WORKDIR /app
ADD . /app
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 10021
CMD ["python", "manage.py", "runserver", "0.0.0.0:10021"]

要求
openpyxl==2.4.11
请求==2.18.4
django==2.0.2
mysqlclient==1.3.12
生成错误

Collecting mysqlclient==1.3.12 (from -r requirements.txt (line 4))
  Downloading https://mirrors.aliyun.com/pypi/packages/6f/86/bad31f1c1bb0cc99e88ca2adb7cb5c71f7a6540c1bb001480513de76a931/mysqlclient-1.3.12.tar.gz (89kB)
    Complete output from command python setup.py egg_info:
    /bin/sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-er3m_9t6/mysqlclient/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "/tmp/pip-install-er3m_9t6/mysqlclient/setup_posix.py", line 44, in get_config
        libs = mysql_config("libs_r")
      File "/tmp/pip-install-er3m_9t6/mysqlclient/setup_posix.py", line 26, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    OSError: mysql_config not found

感谢@danblack mariadb-connector-c-dev 这帮我解决了问题 OSError: mysql_config not found 错误。
新建dockerfile

FROM python:3.6.5-alpine3.7
WORKDIR /app
ADD . /app
RUN apk add --no-cache build-base && apk add --no-cache mariadb-connector-c-dev && pip install --no-cache-dir -r requirements.txt && apk del build-base
EXPOSE 10021
CMD ["python", "manage.py", "runserver", "0.0.0.0:10021"]

新问题
但出现了一个新问题,docker在 docker run ... 运行,没有日志,没有错误。它应该打印如下日志

Performing system checks... 
System check identified no issues (0 silenced). 
September 04, 2018 - 15:56:26 
Django version 2.0.2, using settings 'xxx.settings' 
Starting development server at http://0.0.0.0:10021/ 
Quit the server with CTRL-BREAK.

有人能给我看一个完整的文件吗?请帮帮我!非常感谢。

fdx2calv

fdx2calv1#

您需要安装mariadb-connector-c-dev-alpine包,该包提供 mysql_config python包用来标识需要链接的库。

相关问题