1. ホーム
  2. docker

minttyを使用している場合は、プレフィックスを付けてみてください。

2022-02-17 10:02:06
最近、dockerでredisイメージを作成する際に、コマンドで
docker run -it --name redis-master redis /bin/bash

の場合、問題が発生します。
If you are using mintty, try prefixing the command with 'winpty'

プリフィックスにwinptyを使用しても、問題が発生します
/usr/local/bin/docker-entrypoint.sh: 16: exec: C:/Program Files (x86)/Git/usr/bin/bash.exe: not found

最後に、問題を解決するためにコマンドを使用しました

winpty docker run -it --name redis-master redis bash

コンテナを終了させずに終了させたい場合は、ctrl+p+qを押したままにします。コンテナを終了すると同時に、そのコンテナを終了したい場合は、exitコマンドを入力します。

また、最初の方法を使用した場合は、コマンド winpty docker attach container name/container Id を使用して、コンテナに再度入ることができます

また、-v mount file + winptyで入力ストリームを制御する問題もあります。

Error response from daemon: invalid mode: \Program Files (x86)\Git\usr\src\app.
invalid volume specification: '/c/Users/Administrator/project/Django/App1:~/usr/src/app': invalid mount config for type "bind": invalid mount path: '~/usr/src/app' mount path must be absolute.

docker run -it -d --name App1 --link redis-master:db -v /project/Django/App1:/usr/src/app django /bin/bash




winptyを捨てて、以下の方法で解決したところです。

docker run -it -d --name App1 --link redis-master:db -v /project/Django/App1:/usr/src/app django /bin/bash