我正在使用如下所述的YAML文件配置,无法创建文件夹和更改dir的访问权限。
它能够创建目录,但无法完成此命令chmod 777 /opt/ldap
ldap:
image: osixia/openldap:1.3.0
env_file:
- env/ldap.env
networks:
appworks_net:
aliases:
- docker_container.local
restart: "no"
command: bash -c "mkdir -p /opt/ldap && chmod 777 /opt/ldap" - **creates only folder**
command: ["/bin/bash", "-c", "mkdir -p /opt/ldap && chmod 777 /opt/ldap"] -- fails start container
command: ["-c", "chmod 777 /opt/ldap"] -- does not work
command: chmod 777 /opt/ldap -- does not work
command: ["-c", "mkdir -p /opt/appworks/ldap", "chmod 777 /opt/appworks/ldap"] -- only creates folder
command:
- -c
- |
mkdir -p /opt/ldap
chmod 777 /opt/ldap -- **creates only folder**
healthcheck:
test: ["CMD-SHELL", '/usr/bin/ldapsearch -h ldaps://$$HOSTNAME -p $$PORT -w $$LDAP_ADMIN_PASSWORD -D "cn=admin,dc=trialorg,dc=local" -b "dc=trialorg,dc=local" | grep "dn:"']
interval: 5s
timeout: 5s
retries: 10
如果有任何可行的想法,请在这里帮助我。 我不想使用docker / entrypoint创建新图像。我只是启动了两个运行后容器的命令。
答案 0 :(得分:0)
那
command:
- -c
- |
mkdir -p /opt/ldap;
chmod 777 /opt/ldap;
或
command:
- -c
- |
mkdir -p /opt/ldap && chmod 777 /opt/ldap;
您还确定文件中包含UNIX行尾吗?
另一种可能的解决方案Using Docker-Compose, how to execute multiple commands