正在尝试将GitLab CE docker容器连接到OpenLDAP docker容器
我是Docker的新手,我正在尝试利用Docker的网络做一些事情。我有两个容器,一个是GitLab,另一个是OpenLDAP,我希望我的GitLab服务器可以通过OpenLDAP身份验证进行设置。我有下面的两份作文。Gitlab compose主要是复制和粘贴,因为我实际上并不100%确定环境变量的设置应该是什么,以便它与OpenLDAP容器进行内部通信。我希望他们可以通过一个用户定义的桥接器(名为“loworkNetwork”)完全在内部进行通信,我在开始这些组合之前就开始了这个桥接器 Gitlab Docker Compose正在尝试将GitLab CE docker容器连接到OpenLDAP docker容器,docker,docker-compose,gitlab,openldap,Docker,Docker Compose,Gitlab,Openldap,我是Docker的新手,我正在尝试利用Docker的网络做一些事情。我有两个容器,一个是GitLab,另一个是OpenLDAP,我希望我的GitLab服务器可以通过OpenLDAP身份验证进行设置。我有下面的两份作文。Gitlab compose主要是复制和粘贴,因为我实际上并不100%确定环境变量的设置应该是什么,以便它与OpenLDAP容器进行内部通信。我希望他们可以通过一个用户定义的桥接器(名为“loworkNetwork”)完全在内部进行通信,我在开始这些组合之前就开始了这个桥接器 Gi
version: '2'
services:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'my_external_url'
# These settings are documented in more detail at
# https://gitlab.com/gitlab-org/gitlab-ce/blob/a0a826ebdcb783c660dd40d8cb217db28a9d4998/config/gitlab.yml.example#L136
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_host'] = 'ldap-service'
gitlab_rails['ldap_port'] = 389
gitlab_rails['ldap_uid'] = 'uid'
gitlab_rails['ldap_method'] = 'plain' # 'ssl' or 'plain'
gitlab_rails['ldap_bind_dn'] = 'cn=admin,dc=my_external_url,dc=com'
gitlab_rails['ldap_password'] = 'password'
gitlab_rails['ldap_allow_username_or_email_login'] = true
gitlab_rails['ldap_base'] = 'dc=my_external_url,dc=com'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
networks:
- loworkNetwork
networks:
loworkNetwork:
external: true
version: '2'
services:
openldap:
image: osixia/openldap:latest
environment:
- LDAP_ORGANISATION="lowork"
- LDAP_DOMAIN=my_external_url
- LDAP_ADMIN_PASSWORD=password
networks:
- loworkNetwork
hostname: ldap-service
phpldapadmin:
image: osixia/phpldapadmin:latest
ports:
- "8080:80"
environment:
- PHPLDAPADMIN_LDAP_HOSTS=openldap
- PHPLDAPADMIN_HTTPS=false
networks:
- loworkNetwork
networks:
loworkNetwork:
external: true
LDAP服务Docker Compose
version: '2'
services:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'my_external_url'
# These settings are documented in more detail at
# https://gitlab.com/gitlab-org/gitlab-ce/blob/a0a826ebdcb783c660dd40d8cb217db28a9d4998/config/gitlab.yml.example#L136
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_host'] = 'ldap-service'
gitlab_rails['ldap_port'] = 389
gitlab_rails['ldap_uid'] = 'uid'
gitlab_rails['ldap_method'] = 'plain' # 'ssl' or 'plain'
gitlab_rails['ldap_bind_dn'] = 'cn=admin,dc=my_external_url,dc=com'
gitlab_rails['ldap_password'] = 'password'
gitlab_rails['ldap_allow_username_or_email_login'] = true
gitlab_rails['ldap_base'] = 'dc=my_external_url,dc=com'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
networks:
- loworkNetwork
networks:
loworkNetwork:
external: true
version: '2'
services:
openldap:
image: osixia/openldap:latest
environment:
- LDAP_ORGANISATION="lowork"
- LDAP_DOMAIN=my_external_url
- LDAP_ADMIN_PASSWORD=password
networks:
- loworkNetwork
hostname: ldap-service
phpldapadmin:
image: osixia/phpldapadmin:latest
ports:
- "8080:80"
environment:
- PHPLDAPADMIN_LDAP_HOSTS=openldap
- PHPLDAPADMIN_HTTPS=false
networks:
- loworkNetwork
networks:
loworkNetwork:
external: true
我已经弄明白了!在我的例子中,我所要做的就是将主机更改为容器的名称。因此,在我的gitlab docker compose中,我只是将“ldap主机”更改为“openldap”,因为这是我容器的名称