【问题标题】:Docker compose use same php version between containersDocker compose 在容器之间使用相同的 php 版本
【发布时间】:2022-01-04 02:49:31
【问题描述】:

我有与 docker compose 连接的 nginx php 和 codecept 容器,当我运行 codecept 容器时,我注意到它获得了 php 版本 7.4,而在我的 php 容器中,我正在运行 php 8 并且很多包都依赖于 php 8所以它无法启动。

是否可以让 codecept 在我的容器中运行 php? 或者是否可以将 codecept 设置为运行相同的 php 版本?

这是我的 docker-compose.yml 文件

version: '3'
services:
  web:
    build:
      context: ./
      dockerfile: ./dockerfiles/nginx
      args:
        NGINX_VERSION: latest
    container_name: nginx
    volumes:
      - ./html:/var/www/html:cached
    ports:
      - "80:80"
      - "443:443"
    networks:
      - my-network
    restart: always
    depends_on:
      - php
  codecept:
    image: codeception/codeception
    container_name: codeception
    depends_on:
      - web
    volumes:
      - ./html:/project
    networks:
      - my-network
  php:
    build:
      context: ./
      dockerfile: ./dockerfiles/php
      args:
        PHP_VERSION: 8.0.10
    container_name: php
    ports:
      - 9000:9000
    networks:
      - my-network
    restart: always
    volumes:
      - ./html:/var/www/html:cached

networks:
  my-network: null

【问题讨论】:

    标签: docker docker-compose containers codeception


    【解决方案1】:

    预建的codeception Docker镜像自带预装PHP版本,见https://github.com/Codeception/Codeception/blob/4.1/Dockerfile

    因此,如果需要,您可以考虑使用所需的 PHP 版本构建自己的代码接收图像。

    【讨论】:

    • 谢谢,我没有意识到..我现在构建了自己的代码接收图像,它似乎可以工作!
    猜你喜欢
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    相关资源
    最近更新 更多