如何在dockerized Wordpress上启用LDAP?

时间:2018-05-09 10:58:53

标签: php docker ldap

我有一个用docker-compose.yml文件运行的容器。

version: '3'
services:

    db:
     <...>

    wordpress:
      depends_on:
        - db
      image: wordpress:latest
      ports:
        - "8000:80"
      restart: always
      environment:
        WORDPRESS_DB_HOST: db:3306
        WORDPRESS_DB_USER: wordpress
        WORDPRESS_DB_PASSWORD: wordpress

我需要enable LDAP on PHP但我真的无法找到如何完成教程中解释的步骤。

  

您需要使用 - with-ldap [= DIR] 配置选项   编译PHP以启用LDAP支持。

我应该如何在正在运行的容器上执行此操作?如果在运行docker-compose up之前完成此操作(如果是),我应该使用哪种环境配置?

1 个答案:

答案 0 :(得分:2)

您只需使用其他图片,因为它无法使用原始图片轻松配置。

在GitHub上查看dalareo/docker-wordpress-ldap-support。您可以使用此Dockerfile将其下载到项目存储的目录中,并对docker-compose.yml进行一些小改动,如下所示:

version: '3'
services:

    db:
     <...>

    wordpress:
      depends_on:
        - db
      # remove: image: wordpress:latest and put this instead:
      build: .
      # and place the rest of the definitions you normally have there

从repo:

复制的Dockerfile
FROM wordpress

RUN set -x \
    && apt-get update \
    && apt-get install -y libldap2-dev \
    && rm -rf /var/lib/apt/lists/* \
    && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
    && docker-php-ext-install ldap \
    && apt-get purge -y --auto-remove libldap2-dev

修改

我从这个Dockerfile

找到了一个公共注册表图像构建

现在您实际上不必对原始的docker-compose.yml文件进行任何更改,除非更改您的wordpress预期运行的图像。从wordpress:latestdalareo/wordpress-ldap