最近在用docker时创建redis的镜像时,使用命令
docker run -it --name redis-master redis /bin/bash出现问题the input device is not a TTY. 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 容器名/容器Id
还有问题就是使用-v挂载文件+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.我才用一下方法解决,抛弃了winpty
docker run -it -d --name App1 --link redis-master:db -v /project/Django/App1:/usr/src/app django /bin/bash
本文介绍了解决在Windows环境下使用Docker创建Redis镜像时遇到的问题,包括使用winpty解决输入设备不是TTY的问题,以及如何正确挂载文件夹和重新连接到容器的方法。





