我想从本地获取docker容器的结果,这是我尝试过的。
步骤1。 使用dockerFile创建php-composer映像。
FROM php:7
RUN apt-get update
RUN apt-get install curl
RUN curl -sS https://getcomposer.org/installer -o composer-setup.php
RUN php composer-setup.php --install-dir=/usr/local/bin --filename=composer
RUN apt-get install -y git
步骤2。 创建容器并执行laravel应用。
docker run -p 127.0.0.1:3000:8000 --name MyTest -dt php-composer to create a container
docker cp laravelApp/ d4bbb5d36312:/usr/
docker exec -it MyTest bash
cd usr/laravelApp
php artisan serve
之后,终端显示成功信息:
Laravel development server started: <http://127.0.0.1:8000>
但是当我在浏览器中访问127.0.0.1:3000时,我什么也没得到。
那是为什么?
答案 0 :(得分:1)
laravel需要一些php扩展才能工作,因此您也需要安装它们,这是完整的dockerfile
FROM php:7
RUN apt-get update -y && apt-get install -y openssl zip unzip git
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN docker-php-ext-install pdo mbstring
WORKDIR /app
COPY app /app # this copies all the app files to a folder called `app`
RUN composer install
CMD php artisan serve --host=0.0.0.0 --port=8000
EXPOSE 8000
然后运行容器,仅运行以下命令:
docker run -p 3000:8000 --name MyTest
然后转到http://localhost:3000
让我知道它是否无效