Docker exec でディレクトリ移動しようとしてハマったのを解決したメモ。

Docker コンテナ内でディレクトリ移動後、migrationしようとしたら思いのほかハマったのでメモしておきます。


環境

  • OS: Mac OS X 10.11.6
  • Docker: 1.12.1

bash -c をつける

何も考えずに実行すると下記のエラーがでる。

Terminal
1
2
3
$ docker exec -it web_server "cd /var/www/html && bin/cake migrations migrate"

rpc error: code = 2 desc = oci runtime error: exec failed: exec: "cd /var/www/html && bin/cake migrations migrate": stat cd /var/www/html && bin/cake migrations migrate: no such file or directory

これを解決するには bash -c の引数として実行したいコマンドを渡すようにする。

Terminal
1
$ docker exec -it web_server bash -c "cd /var/www/html && bin/cake migrations migrate"

これで問題なくコンテナ内で /var/www/html へ移動後 migration 実行できる。

以上です。

© 2018 磁力式駆動 All Rights Reserved.
Theme by hiero