在容器中找不到 Docker“/usr/bin/php”

Posted

技术标签:

【中文标题】在容器中找不到 Docker“/usr/bin/php”【英文标题】:Docker "/usr/bin/php" not found in container 【发布时间】:2021-08-15 13:07:33 【问题描述】:

我正在为我的应用程序使用 docker,其中包括 freeradius、nginxphp。 我想在容器 freeradius 中使用“program =”/usr/bin/php 这个命令,但它不起作用。

在 freeradius 容器中,我想运行这个命令“/usr/bin/php”,但它说找不到命令。

谁能帮我解决这个问题?

version: '3.2'

services:
  freeradius:
    image: "ronakzenexim/2stacks_freeradius:v1"    
    environment:
      - RAD_DEBUG=yes
    depends_on:
      - mysql
      - php
    links:
      - mysql
    restart: always
    networks:
      - backend
  php:
    image: "ronakzenexim/phpfpm72_mycrypt"
    restart: always
    volumes:
        - "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini"
        - "./web:/var/www/html"
    networks:
      - backend
 
networks:
  backend:
    ipam:
      config:
        - subnet: 10.0.0.0/24

【问题讨论】:

PHP 在自己的容器中,FreeRadius 无法访问。 那么你能建议我如何访问它吗? 您应该编写一个您自己的 docker 文件,该文件继承自 ronakzenexim/2stacks_freeradius:v1 并在其中安装 PHP。 目前还不清楚你一开始要做什么。也许退后一步,重新考虑你的目标,而不是专注于基于有缺陷的方法的解决方案。 @UlrichEckhardt 简单的事情是我想在我的 freeradius 容器中使用命令行 php。由于freeradius需要php命令行访问。 【参考方案1】:

例如创建一个freeradius docker镜像的扩展

FROM ronakzenexim/2stacks_freeradius:v1
# Now install php
RUN apk update && apk upgrade
RUN apk add php7 php7-fpm php7-opcache

在这个容器中你可以运行php。

【讨论】:

谢谢。让我检查一下

以上是关于在容器中找不到 Docker“/usr/bin/php”的主要内容,如果未能解决你的问题,请参考以下文章

在 docker php 容器中找不到 MySQLi

Python 脚本在 docker 容器中找不到使用 CRON 运行的 ENV 变量

lsb_release:在最新的 Ubuntu Docker 容器中找不到命令

运行docker容器时出错:启动容器进程导致“exec:”python “:$ PATH中找不到可执行文件”:未知

Docker容器启动时在jar中找不到api-rest的主类

Docker:OCI 运行时创建失败:container_linux.go:349:启动容器进程导致“exec:\”java\“:$PATH 中找不到可执行文件”