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

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

bitnami/openldap Docker 镜像 - 轩辕镜像

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

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 OS Photon Linux. 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.

!Alt text !Alt text

If you are looking for our previous generation of images based on Debian Linux, please see the Bitnami Legacy registry.

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 bitnami/containers GitHub repo.

Get this image

The recommended way to get the Bitnami OpenLDAP Docker Image is to pull the prebuilt image from the Docker Hub Registry.

console
docker pull bitnami/openldap:latest

To use a specific version, you can pull a versioned tag. You can view the list of available versions 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 [***]
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 [***]

查看更多 openldap 相关镜像 →
cleanstart/openldap logo
cleanstart/openldap
企业级OpenLDAP服务器容器,基于CleanStart安全加固的最小化OS构建,提供TLS加密、高级访问控制和数据持久化,支持集中式身份认证、目录服务管理及SSO集成。
10K+ pulls
上次更新:未知
bitnamilegacy/openldap logo
bitnamilegacy/openldap
Bitnami的旧版遗留镜像,不再提供更新。
11M+ pulls
上次更新:未知
jpgouin/openldap logo
jpgouin/openldap
暂无描述
100K+ pulls
上次更新:未知
cjyar/openldap logo
cjyar/openldap
一个最小化的OpenLDAP容器,提供轻量级目录服务功能,适用于需要高效、低资源占用的LDAP服务场景,支持标准LDAP协议及基础配置定制。
10K+ pulls
上次更新:未知
upshift/openldap logo
upshift/openldap
用于运行OpenLDAP服务器的Docker镜像,提供目录服务功能,支持通过卷挂载配置文件和数据目录进行自定义部署。
110K+ pulls
上次更新:未知
theanurin/openldap logo
theanurin/openldap
OpenLDAP的Docker镜像,提供轻量级目录访问协议(LDAP)服务,支持Let's Encrypt SSL证书自动生成,便于生产环境更新和镜像部署。
110K+ pulls
上次更新:未知

轩辕镜像配置手册

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

登录仓库拉取

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

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

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

镜像拉取常见问题

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

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

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

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
bitnami/openldap
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.