2016-12-07 2 views
0

실행 중에 공유 볼륨을 마운트하는 컨테이너가 있는데이 볼륨이 마운트되는 위치에서 일부 파일을 복사하고 심볼릭 링크를 만들어야합니다.컨테이너에 Docker의 공유 볼륨에서 파일 복사 및 심볼릭 링크 생성

몇 가지 방법을 시도했으며 마지막으로 감독자를 사용했습니다. 그래서 나는 cp가있는 간단한 bash 스크립트를 만들었고, 도커 컨테이너의 볼륨이 도커 컨테이너의 최종 목적지까지 필요한 위치에서 필요한 것을 만들었습니다. 그러나 관리자는 실패합니다.

이 내 상사의 conf 파일입니다

[supervisord] 
nodaemon=true 

[program:nonversioned] 
command=/deploy.sh 
numprocs=1 
autostart=true 
autorestart=true 
exitcodes=1 

이 내 deploy.sh Dockerfile 또한 관리자를 실행의 몇 가지를 시도 내에서

#!/usr/bin/env bash 

# Copy config files 
cp -f /efs/deploys/wp-config.php /var/www/html 

# Softlink to uploads 
ln -s /efs/deploys/uploads /var/www/html/assets/uploads 

무슨의 예입니다. 당신은 명령 및 인수를 지정해야

docker run -d 
     -v /home/user/my_efs:/efs \ 
     mytest/testing 
+0

예, 전체 경로와 함께 분리되어 있습니다. 감사합니다 – codiaf

+0

실제로 대답 대신 게시 할 것입니다. –

답변

1

: 마지막으로 내가 함께 노력했다 :

CMD ["supervisord -n"] 

그러나 supervisord 경로

에없는 것을 말한다 그리고 나는 내 컨테이너를 시작하고 따로 따로, 예를 들면

CMD ["supervisord", "-n"] 

경로에서 여전히 supervisord을 찾지 못할 수도 있습니다. 이 경우 전체 경로를 지정하십시오 :

CMD ["/usr/bin/supervisord", "-n"]