php - 使用 ubuntu 映像在 Docker 容器内的 bash 脚本内运行 php 命令

我有一个 bash 脚本和一个 php 脚本。

--------编辑--------我解决了它,我只是愚蠢,我在下面写了我的答案。

(如果你愿意,我可以放代码截图。)

我的码头文件:

ARG VERSION=latest
FROM ubuntu:bionic
RUN apt-get -y update && apt-get -y upgrade
COPY ./resources/ start.sh /sandbox/
WORKDIR /sandbox/
ENTRYPOINT ["sh","start.sh"]

正如我在标题中所说,我想在 docker 容器中执行它们。

docker 容器的“入口点”是 bash 脚本。

在 bash 脚本中,我有一行

php PHP_SCRIPT.php

但是当我执行时,它给了我错误:

PHP_SCRIPT.php: php: 未找到

或类似的东西

我看到 php 命令通常驻留在 '/usr/bin/php' 中,但我尝试在 docker 容器中运行命令 'which php' 结果是 '/usr/local /bin/php'

也许我调用 php 命令错误?

但我想要的结果是在我启动 docker 容器时启动的 bash 脚本内运行 php 脚本。

回答1

您正在使用默认未安装 PHP 的 docker 图像 FROM ubuntu:bionic。请尝试 FROM php(或 https://hub.docker.com/_/php?tab=tags之一)。

回答2

问题是你的容器中没有安装 PHP 要做到这一点,你可以使用你的官方 PHP 镜像 https://hub.docker.com/_/php

FROM php:7.4-cli

ARG VERSION=latest
RUN apt-get -y update && apt-get -y upgrade
COPY ./resources/ start.sh /sandbox/
WORKDIR /sandbox/
ENTRYPOINT ["sh","start.sh"]

回答3

我会得到“php not found 错误”,因为我没有将 php 安装到 docker 容器中。

所以,我试着写在 dockerfile

RUN apt-get php-cli (我也尝试过 php:cli 并且似乎具有相同的效果),

尝试将 php 安装到容器,但是当我启动容器时,它似乎会冻结并且不执行任何操作。

显然,它不会“冻结”,但我只需要等待容器中的 php 更新。 :D

相似文章

最新文章