2016-04-11 5 views
3

Inspiriert von this post, versuche ich docker-machine auf meinem Mac zu verwenden, um einen laufenden Container zu stoppen. awk scheint sich jedoch in docker-machine ssh anders zu verhalten, als wenn sie direkt "in" dem Container ausgeführt wird.Unerwartetes Verhalten von awk in Docker-Maschine

Als ich in den Container direkt ssh'd bin, funktioniert alles wie erwartet:

[email protected]:~$ docker-machine ssh default 
[email protected]:~$ docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS    NAMES 
028fd7148881  myrepo/mycontainer "apachectl -DFOREGROU" 14 minutes ago  Up 14 minutes  0.0.0.0:80->80/tcp gloomy_mayer 
[email protected]:~$ docker ps | awk 'NR > 1 {print $1}' 
028fd7148881 
[email protected]:~$ docker ps | awk 'NR > 1 {print $1}' | xargs --no-run-if-empty docker kill 
028fd7148881 
[email protected]:~$ docker ps 
CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES 

Aber wenn remote ausgeführt, awk verhält sich anders:

[email protected]:~$ docker-machine ssh default "docker ps" 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS    NAMES 
7927b10b8a28  myrepo/mycontainer "apachectl -DFOREGROU" 11 seconds ago  Up 10 seconds  80/tcp    happy_wozniak 
[email protected]:~$ docker-machine ssh default "docker ps | awk 'NR > 1 {print $1}'" 
7927b10b8a28  myrepo/mycontainer "apachectl -DFOREGROU" About a minute ago Up About a minute 80/tcp    happy_wozniak 
[email protected]:~$ docker-machine ssh default "docker ps | awk 'NR > 1 {print $1}' | xargs --no-run-if-empty docker kill" 
7927b10b8a28 
Failed to kill container (myrepo/mycontainer): Error response from daemon: Cannot kill container myrepo/mycontainer: No such container: myRepo/myContainer 
Failed to kill container (apachectl -DFOREGROU): Error response from daemon: Cannot kill container apachectl -DFOREGROU: No such container: apachectl -DFOREGROU 
Failed to kill container (3): Error response from daemon: Cannot kill container 3: No such container: 3 
... 

Warum awk verhalten sich anders unter docker-machine?

Antwort

2
"docker ps | awk 'NR > 1 {print \$1}' | xargs --no-run-if-empty docker kill" 


$ ==> \$ 

Docker ps -q

+0

Goddamit ... Dank! :) – scubbo

Verwandte Themen