代码之家  ›  专栏  ›  技术社区  ›  ltdev

如何使用docker编写中的官方作曲家图像?

  •  0
  • ltdev  · 技术社区  · 6 年前

    这是我的docker compose文件

    version: '3'
    
    services:
        app:
            image: php7.1-apache-stretch
            container_name: php-app
            volumes:
                - .:/var/www/html
            ports:
                - 8080:80
        composer:
            image: composer:1.8
            container_name: composer-app
            volumes:
                - .:/var/www/html
    

    docker-compose up 唯一运行的容器是 php-app . 如何在docker编写文件中运行编写器并与我的应用程序容器通信?

    0 回复  |  直到 6 年前
        1
  •  0
  •   Mihai    6 年前

    理想情况下,您可以在多级构建中使用Composer映像,以避免安装它及其对主机的所有依赖关系。

    FROM composer:1.8 AS composer
    
    FROM php:7.1-apache-stretch
    
    COPY --from=composer /usr/bin/composer /usr/bin/composer
    
    WORKDIR /app
    
    COPY . .
    
    # Place here your command that uses Composer
    RUN composer install
    

    注意:您需要查看RUN命令,因为我不是PHP开发人员。。。。;)

    version: "3"
    
    services:
      app:
        build: .
        image: php-app:1.0
        container_name: "php-app"
        ports: 
          - "8080:80"
    

    由于文件在生成时复制到映像中,因此不再需要卷。

    生成映像并运行服务:

    docker-compose up --build -d