繁体   English   中英

如何使用 docker 将 laravel 和 postgres 容器化?

[英]How to containerize laravel and postgres using docker?

请帮助我提供 dockerfile 和 docker-compose 文件的代码,我需要 laravel 设置和 postgres。

这是我的 docker 文件

FROM php:7.4

RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng-dev \
        zlib1g-dev \
        libpq-dev \
        libxml2-dev \
        libzip-dev \
        libonig-dev \
        graphviz \
    && docker-php-ext-configure gd \
    && docker-php-ext-install -j$(nproc) gd \
    && docker-php-ext-install pdo_mysql \
    && docker-php-ext-install pdo_psql \
    && docker-php-ext-install zip \
    && docker-php-ext-install sockets \
    && docker-php-source delete \
    && curl -sS https://getcomposer.org/installer | php -- \
     --install-dir=/usr/local/bin --filename=composer

WORKDIR /var/www/html
COPY . .
RUN composer install

CMD php artisan serve --host=0.0.0.0
EXPOSE 8000

这是 docker-compose.yml 文件

version: '3'
services:
  php_4:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./:/var/www/html
    ports:
      - "8000:8000"
    depends_on:
      - postgres_4

  postgres_4:
    image: postgres
    restart: unless-stopped
    ports:
      - "5433:5432"
    volumes:
      - ./docker/postgres:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: root
      POSTGRES_DB: lara_4
      POSTGRES_HOST_AUTH_METHOD: "trust"

两者都不起作用,给出不同的错误。 SO please anyone give fresh code for both dockerfile and docker-compose file for laravel with postgresql using docker.

您应该在 docker-compose.yml 文件中指定 web 服务器,即 nginx

如果您刚开始使用 Laravel + Docker,您应该看看Laravel Sail

对于您的一般问题,请编辑您的问题并插入具体错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM