【问题标题】:docker container python subprocess.Popen php5.6 script is it possible to execute?docker container python subprocess.Popen php5.6 script 可以执行吗?
【发布时间】:2019-08-19 07:34:07
【问题描述】:

我正在尝试将我的 python 应用程序停靠在本地。当我在终端(Linux mint 19.1)中启动时,该应用程序运行良好。该应用程序有一些来自应用程序外壳的输出。第一个是连接mysql服务器。另一个是调用python subprocess lib..

proxiScript = 'php5.6 -V'

subprocess.Popen(proxiScript, shell=True, stdout=subprocess.PIPE)

当我创建一个 docker 镜像时,一开始我在连接 mysql 时遇到了问题 [我用 docker run --net host image_name 解决了这个问题]。

第二个问题是.. /bin/sh: 1: php5.6: not found

有没有办法构建一个独立的图像,其中包含我在项目中使用的所有需求。也许我可以使用主机终端来使我的图像成功?

谢谢你..

来自应用程序 ->

`
proxiScript = "php5.6 -v "
proc=subprocess.Popen(proxiScript, shell=True, stdout=subprocess.PIPE)`

Dockerfile

FROM python:3.7-slim WORKDIR /app COPY . /app RUN pip install --trusted-host pypi.python.org -r requirements.txt EXPOSE 80 CMD ["python", "test.py"]

【问题讨论】:

    标签: php python docker subprocess containers


    【解决方案1】:

    我认为您应该添加如下环境路径(例如,使用适合您情况的路径):

    ENV LD_LIBRARY_PATH /opt/rh/python27/root/usr/lib64
    ENV PATH /opt/rh/python27/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    

    您不应该使用 php5 图像来代替吗?

    你确定你在那个 python:3.7-slim 图像上拥有你需要的一切吗?

    我们的 requirements.txt 是什么?

    从我在这张图片上看到的,这是一个没有安装 php5 包的 debian 9

    您可以构建自己的图像并像这样使用它:

    Docker 文件: 来自高山:3.5

    ENV http_proxy http://proxyapps.gsnet.corp:80
    ENV https_proxy https://proxyapps.gsnet.corp:80
    
    RUN apk add --update \
        python \
        python-dev \
        py-pip \
        build-base \
        php5
    

    在交互模式下运行这个容器你可能会得到这个:

    docker run -ti "yourimage"
    / # /usr/bin/php5 -v
    PHP 5.6.38 (cli) (built: Oct  1 2018 14:20:42) 
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    
    / # /usr/bin/python -V
    Python 2.7.15
    

    【讨论】:

    • 添加了 ENV PATH $PATH(来自终端)但错误 docker run --net host image_name /bin/sh: 1: php5.6: not found 仍然发生..
    • 用 Dockerfile 示例更新了我的答案,我提供了您可能需要的功能,没有添加 pip 安装,留给您
    猜你喜欢
    • 1970-01-01
    • 2022-12-27
    • 2013-11-13
    • 2021-11-30
    • 1970-01-01
    • 2020-10-02
    • 2023-01-28
    • 2018-03-17
    • 1970-01-01
    相关资源
    最近更新 更多