从laravel项目创建docker映像时,composer出现问题

时间:2019-06-11 11:46:33

标签: laravel docker composer-php

我是Docker的新手,但我已阅读Som指南并尝试创建Docker映像 来自我的laravel项目。

我正在运行的docker命令

  

sudo docker build -t docker-image。

这是我的Dockerfile:

    SQL Error [42702]: ERROR: column reference "subscriberid" is ambiguous
   Detail: It could refer to either a PL/pgSQL variable or a table column.
   Where: PL/pgSQL function inline_code_block line 9 at SQL statement

该错误在步骤4/9中运行:

  

[ErrorException]
  file_put_contents(/ app / vendor / bin / generate-defuse-key):打开失败   流:没有这样的文件或目录

该文件位于/ vendor / bin /

有人可以告诉我我在做什么错吗?

2 个答案:

答案 0 :(得分:0)

我发现的问题不是docker,composer或laravel问题,而是git问题。 问题是git无法创建符号链接,签出项目时我错过了错误。当我再次执行所有步骤时,我发现了它。

答案 1 :(得分:0)

如果您想使用laravel运行nginx应用程序,则可以使用以下docker设置。

在这里,我认为您的申请地址为:/var/www/laravelapp

因此文件的组成如下:

1。您的docker-compose文件:/var/www/laravelapp/docker-compose.yml

version: "3.1"
services:
  webserver:
    image: nginx:alpine
    restart: always
    container_name: laravel-webserver
    working_dir: /application
    volumes:
        - /var/www/laravelapp:/application
        - /var/www/laravelapp/docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
    ports:
      - "82:80"
    env_file:
      - .env
    networks: 
      - intranet

  php-fpm:
    build: docker/php-fpm
    restart: always
    container_name: laravel-fpm
    working_dir: /application
    volumes:
      - /var/www/laravelapp:/application
    env_file:
      - .env
    networks: 
      - intranet

networks:
  intranet:
    external: false

2。 Nginx dockerfile /var/www/laravelapp/docker/Dockerfile

FROM phpdockerio/php71-fpm:latest

# Install selected extensions and other stuff
RUN apt-get update \
    && apt-get -y --no-install-recommends install  php7.1-mysql php7.1-mbstring php7.1-gd git \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*


WORKDIR "/application"

3。 Nginx主机设置/var/www/laravelapp/docker/nginx/nginx.conf


server {
    listen 80 default;

    client_max_body_size 108M;

    access_log /var/log/nginx/application.access.log;


    root /application/public;
    index index.php;

    if (!-e $request_filename) {
        rewrite ^.*$ /index.php last;
    }

    location ~ \.php$ {
        fastcgi_pass php-fpm:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PHP_VALUE "error_log=/var/log/nginx/application_php_errors.log";
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        include fastcgi_params;
    }

}

让我知道您是否仍然遇到任何问题。