docker run -it centos:6 ls -lah;pwdとしても、lsしか実行されません。pwdはDockerサーバ側で実行されます。&&にしても同じです。
まぁよく見ればわかるのですが、これは"docker run -it centos:6 ls -lah"と"pwd"を続けて実行しているだけですね(汗
かといって、
docker run -it centos:6 "/bin/ls -lah"としてみても、exec: "/bin/ls -lah": stat /bin/ls -lah: no such file or directoryとなぞのエラーを返します。
これ、方法が分からなくて地味に悩んだのですが、さすがTwitter。即回答が帰ってきましたw
@akira345 突然失礼します。「/bin/ls -lah」という(スペースも含めた)ファイルを探すためです。ダブルクォーテーションを外すか、sh -c "/bin/ls -lah" としてください。(この辺りの扱いは、ssh などとは異なります)
— mapk0y (@mapk0y) 2015, 10月 26
というわけで、docker run -it centos:6 sh -c "cd ~/;ls -lah;cd /tmp;pwd;ls -lah"のように、sh -c で渡すと実行できます。
0 件のコメント:
コメントを投稿