2016-12-07 12 views
0

実行時に共有ボリュームをマウントするコンテナがあります。このボリュームがマウントされている場所からいくつかのファイルをコピーしてシンボリックリンクを作成する必要があります。Docker上の共有ボリュームからシンボリックリンクを作成してファイルをコピーします。

私はいくつかの方法を試みましたが、最後に私は監督者を使用していました。だから、私は単純なbashスクリプトを作成しました。これは、ボリュームがドッキング・コンテナにマウントされている場所から、ドッキング・コンテナ内の最終的な場所に必要なものです。しかし、監督者は失敗します。

これは私の上司のconfファイルである:これは私のDockerfileでは私のdeploy.sh

#!/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 

を持っているものの一例である

[supervisord] 
nodaemon=true 

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

もスーパーバイザを起動するいくつかのことを試してみました。最後に私がしようとしていた:

CMD ["supervisord -n"] 

しかし、それはsupervisordがパスに

ではないことを言うと私は私のコンテナを始めています:あなたは、コマンドと引数を指定する必要が

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

はい、それは完全なパスで区切られています。ありがとう – codiaf

+0

代わりに答えとして実際に投稿します。 –

答えて

1

別々に、例えば

CMD ["supervisord", "-n"] 

パス内にまだsupervisordが見つからない可能性があります。その場合は、完全なパスを指定してください:

CMD ["/usr/bin/supervisord", "-n"] 
関連する問題