Docker为PHP Apache构建映像

时间:2019-01-22 06:10:38

标签: laravel postgresql docker

我正在尝试从ubuntu创建一个docker镜像,我需要在该镜像中安装laravel。为此,我尝试运行。

我有一个使用此代码的docker文件:

FROM ubuntu:latest

RUN apt-get update && apt-get upgrade -y\
    && apt-get install apache2\
    && apt-get install php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-mysql php-cli php-mcrypt php-zip\
    && curl -sS https://getcomposer.org/installer |  php -- --install-dir=/usr/local/bin --filename=composer

EXPOSE 80 443 

当我运行docker-comompose时,出现错误:

ERROR: Service 'web' failed to build: The command '/bin/sh -c apt-get update && apt-get upgrade -y    && apt-get install apache2    && apt-get install php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-mysql php-cli php-mcrypt php-zip    && curl -sS https://getcomposer.org/installer |  php -- --install-dir=/usr/local/bin --filename=composer' returned a non-zero code: 1

我的docker-compose文件是:

version: '3'

services:
  db:
    image: postgres
    restart: always
    environment:
      POSTGRES_PASSWORD: .......
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8090
  web:
    build: .
    working_dir: /var/www/html
    volumes:
      - .:/var/www/html
    ports:
      - "80:7000"
    depends_on:
      - db

如果我需要为laravel应用程序创建docker映像,该怎么办。我有一个laravel应用程序,我需要通过docker运行它。

1 个答案:

答案 0 :(得分:0)

我刚刚使用了本教程:https://www.digitalocean.com/community/tutorials/how-to-set-up-laravel-nginx-and-mysql-with-docker-compose#step-1-%E2%80%94-downloading-laravel-and-installing-dependencies来完成此操作。

如果只需要最终结果,请查看我的github存储库:https://github.com/RyanFletcher86/LaravelDocker

我设法将其精简为2条命令,以使一切正常运行。