专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
openldap

bitnami/openldap

Bitnami Secure Images(VMware Tanzu)

Bitnami Secure Image for openldap 是由 Bitnami 提供的一款针对 OpenLDAP(轻量级目录访问协议的开源实现,广泛用于用户认证、授权及目录服务管理)的预配置安全镜像,该镜像经过安全加固,集成了优化的配置、必要的依赖管理及最新安全补丁,旨在帮助用户快速、安全地部署 OpenLDAP 服务,适用于企业级环境,确保目录服务的稳定性与数据安全性,简化部署流程并降低运维复杂度。

155 次收藏下载次数: 0状态:社区镜像维护者:Bitnami Secure Images(VMware Tanzu)仓库类型:镜像最近更新:8 个月前
使用轩辕镜像,把时间还给真正重要的事。点击查看
DockerHub 官方简介
轩辕镜像中文简介
标签下载
镜像标签列表与下载命令
使用轩辕镜像,把时间还给真正重要的事。点击查看

Bitnami Secure Image for OpenLDAP

What is OpenLDAP?

OpenLDAP is the open-source solution for LDAP (Lightweight Directory Access Protocol). It is a protocol used to store and retrieve data from a hierarchical directory structure such as in databases.

Overview of OpenLDAP Trademarks: This software listing is packaged by Bitnami. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement.

TL;DR

console
docker run --name openldap bitnami/openldap:latest

Why use Bitnami Secure Images?

Those are hardened, minimal CVE images built and maintained by Bitnami. Bitnami Secure Images are based on the cloud-optimized, security-hardened enterprise https://vmware.github.io/photon/. Why choose BSI images?

  • Hardened secure images of popular open source software with Near-Zero Vulnerabilities
  • Vulnerability Triage & Prioritization with VEX Statements, KEV and EPSS Scores
  • Compliance focus with FIPS, STIG, and air-gap options, including secure bill of materials (SBOM)
  • Software supply chain provenance attestation through in-toto
  • First class support for the internet’s favorite Helm charts

Each image comes with valuable security metadata. You can view the metadata in our public catalog here. Note: Some data is only available with commercial subscriptions to BSI.

!https://github.com/bitnami/containers/blob/main/BSI%20UI%201.png?raw=true "Application details" !https://github.com/bitnami/containers/blob/main/BSI%20UI%202.png?raw=true "Packaging report"

If you are looking for our previous generation of images based on Debian Linux, please see the https://hub.docker.com/u/bitnamilegacy.

Why use a non-root container?

Non-root container images add an extra layer of security and are generally recommended for production environments. However, because they run as a non-root user, privileged tasks are typically off-limits. Learn more about non-root containers in our docs.

Supported tags and respective Dockerfile links

Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags in our documentation page.

You can see the equivalence between the different tags by taking a look at the tags-info.yaml file present in the branch folder, i.e bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml.

Subscribe to project updates by watching the https://github.com/bitnami/containers.

Get this image

The recommended way to get the Bitnami OpenLDAP Docker Image is to pull the prebuilt image from the https://hub.docker.com/r/bitnami/openldap.

console
docker pull bitnami/openldap:latest

To use a specific version, you can pull a versioned tag. You can view the https://hub.docker.com/r/bitnami/openldap/tags/ in the Docker Hub Registry.

console
docker pull bitnami/openldap:[TAG]

If you wish, you can also build the image yourself by cloning the repository, changing to the directory containing the Dockerfile and executing the docker build command. Remember to replace the APP, VERSION and OPERATING-SYSTEM path placeholders in the example command below with the correct values.

console
git clone https://github.com/bitnami/containers.git
cd bitnami/APP/VERSION/OPERATING-SYSTEM
docker build -t bitnami/APP:latest .

Connecting to other containers

Using Docker container networking, a different server running inside a container can easily be accessed by your application containers and vice-versa.

Containers attached to the same network can communicate with each other using the container name as the hostname.

Using the Command Line

In this example, we will use a MariaDB Galera instance that will use a OpenLDAP instance that is running on the same docker network to manage authentication.

Step 1: Create a network

console
docker network create my-network --driver bridge

Step 2: Launch the OpenLDAP server instance

Use the --network <NETWORK> argument to the docker run command to attach the container to the my-network network.

console
docker run --detach --rm --name openldap \
  --network my-network \
  --env LDAP_ADMIN_USERNAME=admin \
  --env LDAP_ADMIN_PASSWORD=adminpassword \
  --env LDAP_USERS=customuser \
  --env LDAP_PASSWORDS=custompassword \
  --env LDAP_ROOT=dc=example,dc=org \
  --env LDAP_ADMIN_DN=cn=admin,dc=example,dc=org \
  bitnami/openldap:latest

Step 3: Launch the MariaDB Galera server instance

Use the --network <NETWORK> argument to the docker run command to attach the container to the my-network network.

console
docker run --detach --rm --name mariadb-galera \
    --network my-network \
    --env MARIADB_ROOT_PASSWORD=root-password \
    --env MARIADB_GALERA_MARIABACKUP_PASSWORD=backup-password \
    --env MARIADB_USER=customuser \
    --env MARIADB_DATABASE=customdatabase \
    --env MARIADB_ENABLE_LDAP=yes \
    --env LDAP_URI=ldap://openldap:1389 \
    --env LDAP_BASE=dc=example,dc=org \
    --env LDAP_BIND_DN=cn=admin,dc=example,dc=org \
    --env LDAP_BIND_PASSWORD=adminpassword \
    bitnami/mariadb-galera:latest

Step 4: Launch the MariaDB client and test you can authenticate using LDAP credentials

Finally we create a new container instance to launch the MariaDB client and connect to the server created in the previous step:

console
docker run -it --rm --name mariadb-client \
    --network my-network \
    bitnami/mariadb-galera:latest mysql -h mariadb-galera -u customuser -D customdatabase -pcustompassword

Using a Docker Compose file

When not specified, Docker Compose automatically sets up a new network and attaches all deployed services to that network. However, we will explicitly define a new bridge network named my-network. In this example we assume that you want to connect to the OpenLDAP server from your own custom application image which is identified in the following snippet by the service name myapp.

yaml
version: '2'

networks:
  my-network:
    driver: bridge
services:
  openldap:
    image: bitnami/openldap:latest
    ports:
      - 1389:1389
      - 1636:1636
    environment:
      - LDAP_ADMIN_USERNAME=admin
      - LDAP_ADMIN_PASSWORD=adminpassword
      - LDAP_USERS=user01,user02
      - LDAP_PASSWORDS=password1,password2
    networks:
      - my-network
    volumes:
      - openldap_data:/bitnami/openldap
  myapp:
    image: YOUR_APPLICATION_IMAGE
    networks:
      - my-network
volumes:
  openldap_data:
    driver: local

IMPORTANT:

  1. Please update the YOUR_APPLICATION_IMAGE_ placeholder in the above snippet with your application image
  2. In your application container, use the hostname openldap to connect to the OpenLDAP server

Launch the containers using:

console
docker-compose up -d

Configuration

The Bitnami Docker OpenLDAP can be easily setup with the following environment variables:

  • LDAP_PORT_NUMBER: The port OpenLDAP is listening for requests. Priviledged port is supported (e.g. 389). Default: 1389 (non privileged port).
  • LDAP_ROOT: LDAP baseDN (or suffix) of the LDAP tree. Default: dc=example,dc=org
  • LDAP_ADMIN_USERNAME: LDAP database admin user. Default: admin
  • LDAP_ADMIN_PASSWORD: LDAP database admin password. Default: adminpassword
  • LDAP_ADMIN_PASSWORD_FILE: Path to a file that contains the LDAP database admin user password. This will override the value specified in LDAP_ADMIN_PASSWORD. No defaults.
  • LDAP_CONFIG_ADMIN_ENABLED: Whether to create a configuration admin user. Default: no.
  • LDAP_CONFIG_ADMIN_USERNAME: LDAP configuration admin user. This is separate from LDAP_ADMIN_USERNAME. Default: admin.
  • LDAP_CONFIG_ADMIN_PASSWORD: LDAP configuration admin password. Default: configpassword.
  • LDAP_CONFIG_ADMIN_PASSWORD_FILE: Path to a file that contains the LDAP configuration admin user password. This will override the value specified in LDAP_CONFIG_ADMIN_PASSWORD. No defaults.
  • LDAP_USERS: Comma separated list of LDAP users to create in the default LDAP tree. Default: user01,user02
  • LDAP_PASSWORDS: Comma separated list of passwords to use for LDAP users. Default: bitnami1,bitnami2
  • LDAP_USER_OU: Name for the user's organizational unit. Default: users
  • LDAP_GROUP_OU: Name for the group's organizational unit. Default: groups
  • LDAP_USER_DC: DC for the users' organizational unit. DEPRECATED Please use LDAP_USER_OU and LDAP_GROUP_OU instead.
  • LDAP_GROUP: Group used to group created users. Default: readers
  • LDAP_ADD_SCHEMAS: Whether to add the schemas specified in LDAP_EXTRA_SCHEMAS. Default: yes
  • LDAP_EXTRA_SCHEMAS: Extra schemas to add, among OpenLDAP's distributed schemas. Default: cosine, inetorgperson, nis
  • LDAP_SKIP_DEFAULT_TREE: Whether to skip creating the default LDAP tree based on LDAP_USERS, LDAP_PASSWORDS, LDAP_USER_OU, LDAP_GROUP_OU and LDAP_GROUP. Please note that this will not skip the addition of schemas or importing of LDIF files. Default: no
  • LDAP_CUSTOM_LDIF_DIR: Location of a directory that contains LDIF files that should be used to bootstrap the database. Only files ending in .ldif will be used. Default LDAP tree based on the LDAP_USERS, LDAP_PASSWORDS, LDAP_USER_OU, LDAP_GROUP_OU and LDAP_GROUP will be skipped when LDAP_CUSTOM_LDIF_DIR is used. When using this it will override the usage of LDAP_USERS, LDAP_PASSWORDS, LDAP_USER_OU, LDAP_GROUP_OU and LDAP_GROUP. You should set LDAP_ROOT to your base to make sure the olcSuffix configured on the database matches the contents imported from the LDIF files. Default: /ldifs
  • LDAP_CUSTOM_SCHEMA_FILE: Location of a custom internal schema file that could not be added as custom ldif file (i.e. containing some structuralObjectClass). Default is /schema/custom.ldif"
  • LDAP_CUSTOM_SCHEMA_DIR: Location of a directory containing custom internal schema files that could not be added as custom ldif files (i.e. containing some structuralObjectClass). This can be used in addition to or instead of LDAP_CUSTOM_SCHEMA_FILE (above) to add multiple schema files. Default: /schemas
  • LDAP_ULIMIT_NOFILES: Maximum number of open file descriptors. Default: 1024.
  • LDAP_ALLOW_ANON_BINDING: Allow anonymous bindings to the LDAP server. Default: yes.
  • LDAP_LOGLEVEL: Set the loglevel for the OpenLDAP server (see <[***]> for possible values). Default: 256.
  • LDAP_PASSWORD_HASH: Hash to be used in generation of user passwords. Must be one of {SSHA}, {SHA}, {SMD5}, {MD5}, {CRYPT}, and {CLEARTEXT}. Default: {SSHA}.
  • LDAP_CONFIGURE_PPOLICY: Enables the ppolicy module and creates an empty configuration. Default: no.
  • LDAP_PPOLICY_USE_LOCKOUT: Whether bind attempts to locked accounts will always return an error. Will only be applied with LDAP_CONFIGURE_PPOLICY active. Default: no.
  • LDAP_PPOLICY_HASH_CLEARTEXT: Whether plaintext passwords should be hashed automatically. Will only be applied with LDAP_CONFIGURE_PPOLICY active. Default: no.

Bootstrapping

User side bootstrapping happens in two primary phases:

Note: Image level modifications, like modules and tools might require a custom Dockerfile that uses the bitnami-openldap as it's base if you need to modify image paths as root, some stuff might be doable in /docker-entrypoint-initdb.d/

  1. /docker-entrypoint-initdb.d/ - Targets: Place ldifs or executable .sh scripts here to be run prior to slap.d (To be used with slapadd not ldapadd). Good place to load and configure overlays.
  2. /ldifs - Place ldifs here that target the base dn of your root db that would be loaded after cn=config. Good place to load org units and groups etc.

Check the official OpenLDAP Configuration Reference for more information about how to configure OpenLDAP.

1. /docker-entrypoint-initdb.d/

Some key concepts:

  • slapd is not running during this phase of the bootstrapping
  • you should expect to use slapadd and slapcat against -F /opt/bitnami/openldap/etc/slapd.d -b cn=config
  • ldapadd won't work here ldapadd -Q -Y EXTERNAL -H "ldapi:///" -f /ldifs/01-enable-memberof-overlay.ldif. Many doc sources suggest using ldapadd but slapd isn't running yet.
  • slapadd ldifs are different then ldapadd specifically the changetype: modify directives required by ldapadd.
  • scripts are executed in alpha-numeric order so to control order use 01-myscript.sh 02-otherscript.sh is recommended.

Example: Enable the MemberOf Overlay in Bitnami OpenLDAP

Note: bitnami has some custom module pathing. Specifically the slapd module load path is set to /opt/bitnami/openldap/libexec/openldap/ but some of the base openldap modules are installed at /opt/bitnami/openldap/lib/openldap/. If you need to load the memberof.so overlay you will need to symlink, or cp it. exapmle cp /opt/bitnami/openldap/lib/openldap/memberof.so /opt/bitnami/openldap/lib/openldap/memberof.so. This could be done in a Dockerfile, a mount overlay or if running as root in a script in /docker-entrypoint-initdb.d/. The Dockerfile is likely the best and safest solution to ensure your module is always avialable at run time.

Here is an example of loading the memberof overlay with an /entrypoint-initdb.d/ script

The memberOf overlay is widely used in OpenLDAP to automatically populate the memberOf attribute on user entries based on group membership. This short example demonstrates how to add the overlay during Bitnami OpenLDAP container bootstrap using slapadd, with correct LDIF formatting and troubleshooting tips.

  1. Determine the next available module DN:

    • Run:

      sh
      slapcat -F /opt/bitnami/openldap/etc/slapd.d -b cn=config | grep "^dn: cn=module"
      
    • If you see cn=module{0},cn=config, use cn=module{1},cn=config for your new module. {2} if you see existing {1} etc.

  2. Create the LDIF file:

In the default container image has 1 existing loaded module at cn=module{0} so we will use cn=module{1}. Be sure to also bump the index on cn: module{1} to match cn=module{1}

ldif
dn: cn=module{1},cn=config
objectClass: olcModuleList
cn: module{1}
olcModulePath: /opt/bitnami/openldap/libexec/openldap
olcModuleLoad: memberof.so
dn: olcOverlay=memberof,olcDatabase={2}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcMemberOf
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf

Finally a script should be placed or mounted to /docker-entrypoint-initdb.d/. Note: we are using slapadd, not ldapadd here as mentioned above.

bash
#!/bin/bash
# Script to enable memberOf overlay in OpenLDAP
set -e
# Note: cn=module{1},cn=config assumes that the module will be loaded as the second module. cn=module{0} being the first.
# Additionally, olcDatabase={2}mdb assumes that the database is the second one configured in OpenLDAP. Adjust as necessary.
# Create a temporary LDIF file
# ensure cn=module{N},cn=config and cn: module{N} match eachother and do not conflict with existing modules. Run `slapcat -F /opt/bitnami/openldap/etc/slapd.d -b cn=config | grep 'cn=module'` to check existing modules.
cat > /tmp/memberof-overlay.ldif << 'EOF'
dn: cn=module{1},cn=config
objectClass: olcModuleList
cn: module{1}
olcModuleLoad: memberof

dn: olcOverlay=memberof,olcDatabase={2}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcMemberOf
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
EOF

# Apply the LDIF to enable memberOf overlay
echo "Enabling memberOf overlay in OpenLDAP configuration..."
echo "Loading memberOf overlay with slapadd..."

if slapcat -F /opt/bitnami/openldap/etc/slapd.d -b cn=config | grep -q memberof
then
    echo "MemberOf overlay is already configured."
    exit 0
else
    slapadd -F /opt/bitnami/openldap/etc/slapd.d -b cn=config -l /tmp/memberof-overlay.ldif || {
        echo "NOTICE: slapadd failed to load memberOf overlay. Check the cn=module{N} with \"slapcat -F /opt/bitnami/openldap/etc/slapd.d -b cn=config |grep 'cn=module'\""
        exit 1
    }
fi

echo "MemberOf overlay has been configured."

2. Bootstrap your ldap DB in /ldifs

You can bootstrap the contents of your database by putting LDIF files in the directory /ldifs (or the one you define in LDAP_CUSTOM_LDIF_DIR). Those may only contain content underneath your base DN (set by LDAP_ROOT). You can not set configuration for e.g. cn=config in those files.

Some key concepts:

  • you can not set configuration for e.g. cn=config here, use the /docker-entrypoint-initdb.d/ method!
  • ldifs are loaded in alpha-numeric order so you can load things in 01-mygroups.ldif, 02-myusers.ldif etc.
  • this only runs on first init of the container.

Example: Loading base groups and org schemas in /ldifs/01-example-org.ldif (or equiv)

Place or mount your ldif files in /ldifs... That's basically it! Verify with ldapsearch or in your healthchecks etc. once the container has loaded.

ldif
# Base domain entries - converting AD-style DN to OpenLDAP format
dn: dc=your,dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
dc: your
o: Your Organization
# Organizational Units
dn: ou=Users,dc=your,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Users
dn: ou=Groups,dc=your,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Groups
# Admin group
dn: cn=some_admins,ou=Groups,dc=your,dc=example,dc=com
objectClass: top
objectClass: groupOfNames
cn: some_admins
description: An administrators group
# Tester group
dn: cn=testers,ou=Groups,dc=your,dc=example,dc=com
objectClass: top
objectClass: groupOfNames
cn: testers
description: Example group of testers

Data Persistence

To ensure that the OpenLDAP state is retained across container restarts and updates, it is recommended to mount a volume at /bitnami/openldap.

Overlays

Overlays are dynamic modules that can be added to an OpenLDAP server to extend or modify its functionality. See section on Bootstrapping for an example on adding the memberOf or other overlays not directly provided as an overlay flag.

Access Logging

This overlay can record accesses to a given backend database on another database.

  • LDAP_ENABLE_ACCESSLOG: Enables the accesslog module with the following configuration defaults unless specified otherwise. Default: no.
  • LDAP_ACCESSLOG_ADMIN_USERNAME: Admin user for accesslog database. Default: admin.
  • LDAP_ACCESSLOG_ADMIN_PASSWORD: Admin password for accesslog database. Default: accesspassword.
  • LDAP_ACCESSLOG_DB: The DN (Distinguished Name) of the database where the access log entries will be stored. Will only be applied with LDAP_ENABLE_ACCESSLOG active. Default: cn=accesslog.
  • LDAP_ACCESSLOG_LOGOPS: Specify which types of operations to log. Valid aliases for common sets of operations are: writes, reads, session or all. Will only be applied with LDAP_ENABLE_ACCESSLOG active. Default: writes.
  • LDAP_ACCESSLOG_LOGSUCCESS: Whether successful operations should be logged. Will only be applied with LDAP_ENABLE_ACCESSLOG active. Default: TRUE.
  • LDAP_ACCESSLOG_LOGPURGE: When and how often old access log entries should be purged. Format "dd+hh:mm". Will only be applied with LDAP_ENABLE_ACCESSLOG active. Default: 07+00:00 01+00:00.
  • LDAP_ACCESSLOG_LOGOLD: An LDAP filter that determines which entries should be logged. Will only be applied with LDAP_ENABLE_ACCESSLOG active. Default: (objectClass=*).
  • LDAP_ACCESSLOG_LOGOLDATTR: Specifies an attribute that should be logged. Will only be applied with LDAP_ENABLE_ACCESSLOG active. Default: objectClass.

Check the official page OpenLDAP, Overlays, Access Logging for detailed configuration information.

Sync Provider

  • LDAP_ENABLE_SYNCPROV: Enables the syncrepl module with the following configuration defaults unless specified otherwise. Default: no.
  • LDAP_SYNCPROV_CHECKPPOINT: For every 100 operations or 10 minutes, which ever is sooner, the contextCSN will be checkpointed. Will only be applied with LDAP_ENABLE_SYNCPROV active. Default: 100 10.
  • LDAP_SYNCPROV_SESSIONLOG: The maximum number of session log entries the session log can record. Will only be applied with LDAP_ENABLE_SYNCPROV active. Default: 100.

Check the official page OpenLDAP, Overlays, Sync Provider for detailed configuration information.

Dynamic List or Member Of

The overlays dynlist and memberof both require the operational memberOf attribute to be present in the loaded schema. During initialization, a check is performed for the presence of this attribute; if it is absent, it is created programmatically.

At the same time, the msuser schema declares the same attribute. If both the schema and at least one of the overlays are required, a conflict may arise depending on the load order, such as whether the schema is loaded before or after the overlays. If the overlays are loaded first, the process stops and raises a Duplicate attribute error.

In a standard OpenLDAP installation (deb or rpm), its configuration is stored in the main file, which may include another one. In this case, the order is determined by the order of directives.

For configuration flexibility, the container-based approach relies on a file tree structure rather than a master file with includes. To ensure the correct order, the file tree must be read deterministically. Fortunately, Linux sorts folder content using alphanumeric order. This allows overlay loading after the schema by using a keyword that is after schema in alphanumeric sorting (i.e. cn=z-module{N} will be loaded after cn=schema as they are both children of cn=config). Doing so, the configuration merging msuser schema and dynlist (or memberof) will load without errors.

IMPORTANT: The dynlist requires the schema dyngroup. This can be done by adding it to the list of schemas to load through LDAP_EXTRA_SCHEMAS.

The following example shows how to declare the module dynlist with the support of dynamic (groupOfUrls) and static (groupOfNames) groups. The olcDatabase={N}mdb has to be adjusted to the target configuration.

bash
ldapadd -D "cn=admin,cn=config" -w "configpassword" <<EOF
dn: cn=z-module,cn=config
objectClass: olcModuleList
cn: z-module
olcModuleLoad: dynlist.so
olcModulePath: /opt/bitnami/openldap/lib/openldap
dn: olcOverlay=dynlist,olcDatabase={N}mdb,cn=config
objectClass: olcConfig
objectClass: olcDynListConfig
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: dynlist
olcDynListAttrSet: groupOfUrls memberURL member+memberOf@groupOfNames
EOF

This example is compatible with or without the usage of the msuser schema.

Check the official page OpenLDAP, Overlays, Dynamic Lists for detailed configuration information.

Securing OpenLDAP traffic

OpenLDAP clients and servers are capable of using the Transport Layer Security (TLS) framework to provide integrity and confidentiality protections and to support LDAP authentication using the SASL EXTERNAL mechanism. Should you desire to enable this optional feature, you may use the following environment variables to configure the application:

  • LDAP_ENABLE_TLS: Whether to enable TLS for traffic or not. Defaults to no.
  • LDAP_REQUIRE_TLS: Whether connections must use TLS. Will only be applied with LDAP_ENABLE_TLS active. Defaults to no.
  • LDAP_LDAPS_PORT_NUMBER: Port used for TLS secure traffic. Privil

Note: the README for this container is longer than the DockerHub length limit of 25000, so it has been trimmed. The full README can be found at https://github.com/bitnami/containers/blob/main/bitnami/openldap/README.md

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 openldap 镜像标签

docker pull docker.xuanyuan.run/bitnami/openldap:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull bitnami/openldap:<标签>

更多 openldap 镜像推荐

cleanstart/openldap logo

cleanstart/openldap

cleanstart
企业级OpenLDAP服务器容器,基于CleanStart安全加固的最小化OS构建,提供TLS加密、高级访问控制和数据持久化,支持集中式身份认证、目录服务管理及SSO集成。
1万+ 次下载
1 个月前更新
osixia/openldap logo

osixia/openldap

osixia
带有TLS、多主复制和简易引导功能的OpenLDAP镜像。
456 次收藏1亿+ 次下载
4 年前更新
dinkel/openldap logo

dinkel/openldap

dinkel
基于Debian稳定版运行的OpenLDAP服务镜像,设计用于Docker容器间通过--link直接通信,不提供TLS/SSL,支持灵活配置和数据持久化。
98 次收藏100万+ 次下载
2 年前更新
bitnamilegacy/openldap logo

bitnamilegacy/openldap

bitnamilegacy
Bitnami的旧版遗留镜像,不再提供更新。
1 次收藏100万+ 次下载
8 个月前更新
jpgouin/openldap logo

jpgouin/openldap

jpgouin
暂无描述
10万+ 次下载
1 年前更新
upshift/openldap logo

upshift/openldap

upshift
用于运行OpenLDAP服务器的Docker镜像,提供目录服务功能,支持通过卷挂载配置文件和数据目录进行自定义部署。
1 次收藏1万+ 次下载
1 年前更新

查看更多 openldap 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
Bitnami Secure Images(VMware Tanzu)
...
bitnami/openldap
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.