centos 上docker 运行php出现/bin/sh: php not found
时间: 2024-01-26 20:02:13 浏览: 81
这个问题可能出现的原因是Docker镜像中没有安装PHP解释器。如果你使用的是官方PHP镜像,需要在Dockerfile中添加`RUN apt-get update && apt-get install -y php`或者`RUN yum update && yum install -y php`,来安装PHP解释器。如果你使用的是自定义的镜像,需要检查是否正确安装了PHP。你也可以在Dockerfile中添加`RUN which php`来检查PHP解释器是否被正确地安装到了镜像中。
相关问题
centos通过docker安装完hpyerf镜像后,运行php bin/hyperf.php server:watch 会出现/bin/sh: php: not found
如果在使用 Hyperf 镜像运行 `php bin/hyperf.php server:watch` 命令时出现了 `/bin/sh: php: not found` 错误,这说明 Docker 容器中没有安装 PHP。
你可以在 Hyperf 镜像的 Dockerfile 中添加安装 PHP 的命令,比如:
```Dockerfile
FROM hyperf/hyperf:7.4-alpine-v3.12-swoole
# 安装 PHP
RUN apk --update add php
```
或者你可以在运行容器时指定挂载宿主机上的 PHP 可执行文件到容器中,比如:
```bash
docker run -it -v /usr/bin/php:/usr/bin/php hyperf/hyperf php bin/hyperf.php server:watch
```
其中,`/usr/bin/php:/usr/bin/php` 表示将宿主机上的 `/usr/bin/php` 文件挂载到容器中的 `/usr/bin/php` 文件。这样就可以在容器中使用宿主机上的 PHP 可执行文件了。
docker 执行 yum 命令提示/bin/sh: 1: yum: not found
这个问题一般是因为 Docker 镜像中没有安装 yum 工具,可以通过以下几种方式来解决:
1. 选择一个包含 yum 工具的 Docker 镜像。
2. 在 Dockerfile 中添加安装 yum 工具的命令,例如:
```Dockerfile
FROM centos:latest
RUN yum -y update && yum -y install yum-utils
```
这个 Dockerfile 会在 centos 镜像的基础上安装 yum-utils 工具。
3. 使用 dnf 命令替代 yum 命令,dnf 是 yum 的新一代包管理器,语法和用法与 yum 命令基本一致,例如:
```
dnf update
dnf install package_name
```
如果你的 Docker 镜像中没有安装 dnf 命令,则需要在 Dockerfile 中添加安装 dnf 命令的命令,例如:
```Dockerfile
FROM centos:latest
RUN yum -y update && yum -y install dnf
```
这个 Dockerfile 会在 centos 镜像的基础上安装 dnf 命令。
阅读全文