私は docker swarm を使用して、機械学習アプリケーションに使用されるいくつかのコンテナーで展開を制御しています。
一部のコンテナーで実行されるコマンドを送信する bash スクリプトがあります。コンソールでこのスクリプトを手動で実行すると、すべてが正常に機能し、コマンドがコンテナーに送信されて実行されますが、この同じスクリプトを追加して cron で実行すると機能しません (私は crontab を使用しています - e コマンドを使用して、スクリプトをユーザーで実行できるようにします)
実行する必要があるスクリプトの一例を次に示します。
eval $(docker-machine env --swarm director)
docker exec -d container_luigi-worker_1 luigi --module etl AllTasks
cron 行は次のとおりです。 16 * * * * sh /path/script.sh
swarm を使用しているため、最初に director の env にアクセスする必要があります。次に、docker exec を使用してコマンドを実行します (この場合は、spotify の luigi ツールを使用してジョブを開始するコマンドです)。
私は何が欠けていますか?ありがとう