【问题标题】:Docker Compose Link Containers for Phpunit with Wordpress, MySQLDocker Compose Link Containers for Phpunit with Wordpress, MySQL
【发布时间】:2017-03-04 05:33:02
【问题描述】:

我想使用 docker-compose 应用在 wordpress 插件上运行单元测试。

以下(大部分)this tutorial 我创建了四个容器:

my-wpdb:
  image: mariadb
  ports:
    - "8081:3306"
  environment:
    MYSQL_ROOT_PASSWORD: dockerpass

my-wp:
  image: wordpress
  volumes:
    - ./:/var/www/html
  ports:
    - "8080:80"
  links:
    - my-wpdb:mysql
  environment:
    WORDPRESS_DB_PASSWORD: dockerpass

my-wpcli:
  image: tatemz/wp-cli
  volumes_from:
    - my-wp
  links:
    - my-wpdb:mysql
  entrypoint: wp  
  command: "--info"

my-phpunit:
  image: phpunit/phpunit
  volumes_from:
    - my-wp
  links:
    - my-wpdb

这个tutorial 帮助我创建了 phpunit 文件(xml、tests、bin、.travis),但我必须手动安装 subversion:

docker exec wp_my-wp_1 apt-get update 
docker exec wp_my-wp_1 apt-get install -y wget git curl zip vim
docker exec wp_my-wp_1 apt-get install -y apache2 subversion libapache2-svn libsvn-perl

并在数据库容器中手动运行bin/install-wp-tests.sh的最后一部分:

docker exec wp_my-wpdb_1 mysqladmin create wordpress_test --user=root --password=dockerpass --host=localhost --protocol=tcp

我可以运行 phpunit:docker-compose run --rm my-wp phpunit --help

我可以指定配置xml文件:

docker-compose run --rm my-wp phpunit --configuration /var/www/html/wp-content/plugins/my-plugin/phpunit.xml.dist

但是,测试wordpress安装安装在my-wp容器的/tmp目录:/tmp/wordpress-tests-lib/includes/functions.php

我想我必须将my-phpunit 容器/tmp 链接到my-wp 中的容器?

【问题讨论】:

    标签: wordpress unit-testing docker-compose


    【解决方案1】:

    这没有回答我的问题,但作为解决问题的方法,有一个 Docker Image 的 github 存储库,它提供了所需的功能:https://github.com/chriszarate/docker-wordpress 以及一个可以调用它的包装器:@987654322 @

    我想知道对于初始设置(在问题中指出),将 Phpunit 添加到 Wordpress 容器中可能更有意义,而不是为其创建单独的容器。

    【讨论】:

      猜你喜欢
      • 2020-05-01
      • 2020-01-18
      • 2020-09-18
      • 2021-10-26
      • 1970-01-01
      • 2022-01-16
      • 2017-07-05
      • 2016-03-08
      • 2019-05-16
      相关资源
      最近更新 更多