我試圖創建 Docker 容器來連接我的 Symfony 5 應用程式。
我首先創建一個 Dockerfile
FROM php:7.4-fpm-alpine
# Update
RUN apk --no-cache update
RUN apk --no-cache add bash git
# Install Node
RUN apk --no-cache add --update nodejs npm
RUN apk --no-cache add --update python3
RUN apk --no-cache add --update make
RUN apk --no-cache add --update g
# Install pdo
RUN docker-php-ext-install pdo_mysql
# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Symfony CLI
RUN curl -sS https://get.symfony.com/cli/installer | bash && mv /root/.symfony/bin/symfony /usr/local/bin/symfony
# WORK DIR
COPY . /var/www/html
WORKDIR /var/www/html
RUN composer update
RUN composer install
RUN npm install
# Start Symfony server on Port 8000
EXPOSE 8000
RUN symfony serve -d
然后我創建了一個docker-compose.yml檔案(我只是將容器的埠 8000 重定向到我機器上的埠 8080)。
version: '3.8'
services:
php-fpm:
container_name: infolea
build: ./
ports:
- 8080:8000
volumes:
- ./:/var/www/html
然后,我建立我的形象docker-compose build。然后,我運行我的影像docker-compose up -d。
在我的瀏覽器上,該localhost:8080鏈接不顯示任何內容。然后我通過symfony serve -d在容器的終端上鍵入來重新啟動 symfony 服務器,然后我localhost:8080可以看到我的應用程式正在運行。
有些東西是磨損了,當我驗證我的服務器是否尚未在我的 docker 容器終端上啟動時,我得到了這個:
碼頭集裝箱碼頭
我想要的是直接啟動我的 Symfony 服務器,而不需要重新啟動symfony serve -d。我該怎么做 ?
uj5u.com熱心網友回復:
嘗試使用 CMD 而不是 RUN
CMD ["/usr/local/bin/symfony", "local:server:start" , "--port=8000", "--no-tls"]
見https://docs.docker.com/engine/reference/builder/#cmd
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/358348.html
