我正在使用RancherOS设置个人开发服务器,我想将我的cloud-init文件保存在一个回购中,例如github,bitbucket,本地服务器等。就其本身而言,实现这一要求并不难。但是,有些Docker映像接受敏感参数/变量(例如密码),理想情况下,我不希望它们包含在文件中。
例如,OpenLDAP允许配置LDAP_DOMAIN
和LDAP_ADMIN_PASSWORD
:
openldap:
image: osixia/openldap:1.2.4
name: openldap
restart: unless-stopped
ports:
- 389:389
- 636:636
volumes:
- ldap_data:/var/lib/ldap
- ldap_conf:/etc/ldap/slapd.d
environment:
LDAP_ORGANISATION: myorganization
LDAP_DOMAIN: my.domain
LDAP_ADMIN_PASSWORD: myextrasafepassword
从上面开始,我想要一种机制,该机制允许我通过其他文件或其他内容在系统中定义一些变量,我可以在定义容器时引用该变量(类似于iPXE kernel params ):
environment:
LDAP_ORGANISATION: ${ldap.organization}
LDAP_DOMAIN: ${ldap.domain}
LDAP_ADMIN_PASSWORD: ${ldap.admin.pwd}
有什么办法可以做到这一点?