osixia / docker-phpLDAPadmin

phpLDAPadmin container image 🐳🌴
MIT License
844 stars 197 forks source link

Overwriting the config results in sed error #15

Closed mrdrogdrog closed 8 years ago

mrdrogdrog commented 8 years ago

When I overwrite the config.php with --volumes it results in "sed: cannot rename ./sedXXXXXX: Device or resource busy"

According to https://docs.docker.com/v1.4/userguide/dockervolumes/ sed on mounted files is bad.

"Note: Many tools used to edit files including vi and sed --in-place may result in an inode change. Since Docker v1.1.0, this will produce an error such as "sed: cannot rename ./sedKdJ9Dy: Device or resource busy". In the case where you want to edit the mounted file, it is often easiest to instead mount the parent directory."

Maybe its better to create a config directory or don't use sed.

osixia commented 8 years ago

Hello, a run option may solve your problem, can you try to run your container with --copy-service ?

docker run [your options] osixia/phpldapadmin:0.6.7 --copy-service
mrdrogdrog commented 8 years ago

Yes that fixed the problem :) But what does --copy-service do? I can't find any docs for this flag :s

osixia commented 8 years ago

phpLDAPadmin image extends osixia/web-baseimage to get php and apache config (see Dockerfile) and osixia/web-baseimage extends osixia/light-baseimage

--copy-service options is an osixia/light-baseimage command line argument to copy /container/service directory to /container/run/service when the container start.

So it's not a docker option but a osixia/light-baseimage "run tool" command line argument added exactly to solve this kind of mounted files problems :)

more info : https://github.com/osixia/docker-light-baseimage

mrdrogdrog commented 8 years ago

Ah! Okay. Thx for your help :) Maybe you should add this hint to the HowToStart.

evantill commented 7 years ago

same problem here. Thanks.

Maybe changing the startup script to avoid this kind of problem would be better ?

or removing the option to link a custom php config in the documentation (Beginner Guide > Use your own phpLDAPadmin config)

dingziyang commented 1 year ago

If used docker-compose, what is the syntax for '--copy-service' ?