【发布时间】:2021-12-23 00:25:12
【问题描述】:
我试图创建 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。
我该怎么做?
【问题讨论】:
标签: symfony docker-compose server dockerfile localhost