scubbo
scubbo

Reputation: 5837

Unexpected behaviour from awk in docker-machine

Inspired by this post, I'm attempting to use docker-machine on my Mac to stop a running container. However, awk appears to behave differently in docker-machine ssh than when run directly "in" the container.

When I'm ssh'd to the container directly, everything works as expected:

me@myMac:~$ docker-machine ssh default
docker@default:~$ 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
docker@default:~$ docker ps | awk 'NR > 1 {print $1}'
028fd7148881
docker@default:~$ docker ps | awk 'NR > 1 {print $1}' | xargs --no-run-if-empty docker kill
028fd7148881
docker@default:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

But when run remotely, awk behaves differently:

me@myMac:~$ 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
me@myMac:~$ 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
me@myMac:~$ 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
...

Why does awk behave differently under docker-machine?

Upvotes: 4

Views: 537

Answers (1)

bian
bian

Reputation: 1456

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


$ ==> \$

docker ps -q

Upvotes: 2

Related Questions