«docker run -i busybox sh» завершается ошибкой с символами \ r или «: не найдено» в Windows - PullRequest
0 голосов
/ 26 февраля 2020

Я понял различия с точки зрения флагов --i и --t. Однако - когда я запустил две следующие команды, они по-разному ведут себя при возврате результатов

$ docker run -it busybox sh                                                        
Unable to find image 'busybox:latest' locally                                      
latest: Pulling from library/busybox                                               
bdbbaa22dec6: Pull complete                                                        
Digest: sha256:6915be4043561d64e0ab0f8f098dc2ac48e077fe23f488ac24b665166898115a    
Status: Downloaded newer image for busybox:latest                                  
/ # ls                                                                             
bin   dev   etc   home  proc  root  sys   tmp   usr   var                          
/ #                                                                                

Вышеописанное работает. Теперь я удалил флаг --t, где я ожидаю, что «ls» должен вернуть результаты, хотя tty не присоединен.

$ docker run -i busybox sh  
ls                          
: not found  

В чем может быть причина - ls недоступен, звучит странно?

Редактировать 1: еще несколько наблюдений -

$ docker run -i ubuntu                                   
ls                                                       
/bin/bash: line 1: $'ls\r': command not found            
pwd                                                      
/bin/bash: line 2: $'pwd\r': command not found           
exit                                                     
/bin/bash: line 3: $'exit\r': command not found 

еще одно,

$ docker run -i ubuntu sh   
ls                          
: not found                 
exit                        
: not found                 

1 Ответ

1 голос
/ 26 февраля 2020

Похоже, проблема с окончанием строки. Я запускаю команды от windows. В любом случае, я перешел на docker -машина, сейчас все работает.

см. Здесь - https://github.com/docker/for-win/issues/1891

Не знаете, как это исправить во время работы в windows

 $ docker-machine ssh                                          
   ( '>')                                                     
  /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY. 
 (/-_--_-\)           www.tinycorelinux.net                   

docker@default:~$ sudo su root                                
root@default:/home/docker# docker run -i busybox sh           
ls                                                            
bin                                                           
dev                                                           
etc                                                           
home                                                          
proc                                                          
root                                                          
sys                                                           
tmp                                                           
usr                                                           
var                                                           
exit         
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...