[英]Laravel Sail: Run Mysql PHP Migration inside docker container
[英]Run php command inside bash script inside Docker container with ubuntu image
我有一個 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 腳本。
您正在使用FROM ubuntu:bionic
的 docker 映像,默認情況下沒有安裝 PHP。 嘗試FROM php
(或可用的眾多標簽之一)。
問題是你的容器中沒有安裝 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"]
而且我會收到“找不到 php 錯誤”,因為我沒有將 php 安裝到 docker 容器中。
所以,我試着寫在 dockerfile
RUN apt-get php-cli (我也嘗試使用 php:cli 並且似乎具有相同的效果),
嘗試將 php 安裝到容器,但是當我啟動容器時,它似乎會凍結並且不執行任何操作。
顯然,它不會“凍結”,但我只需要等待 php 在容器中更新。 :D
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.