docker容器python子流程.Popenphp5.6脚本是否可以执行?

2024-10-04 01:23:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将我的python应用程序本地停靠。当我在终端(LinuxMint19.1)中启动时,这个应用程序运行得非常好。应用程序有一些来自appshell的输出。第一个是连接mysql服务器。另一个是调用python子进程lib。。在

proxiScript='php5.6-V'

在子流程.Popen(proxiScript,shell=True,标准输出=子流程.管道)在

当我创建一个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文件

{cd2}


Tags: docker服务器程序运行true应用程序终端进程lib
1条回答
网友
1楼 · 发布于 2024-10-04 01:23:34

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

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图像? 在

我们的是什么需求.txt?在

根据我在这张图片上看到的,这是一个没有安装php5包的debian9

你可以建立自己的形象,并像这样使用它:

Dockerfile文件: 从高山:3.5在

^{pr2}$

在交互模式下运行此容器,您可能会得到:

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

相关问题 更多 >