Docker
docker-machine
docker-swarm

運用でよく使うDocker関係コマンド

More than 3 years have passed since last update.

Dockerをテスト・運用していてよく使うコマンド

※随時更新します


docker

使われていないDockerイメージを一括削除



$ docker rmi $(grep -xvf <(docker ps -a --format '{{.Image}}') <(docker images | tail -n +2 | grep -v '<none>' | awk '{ print $1":"$2 }'))

使われていないdocker volumeを一括削除



$ wget https://raw.githubusercontent.com/chadoe/docker-cleanup-volumes/master/docker-cleanup-volumes.sh && sudo bash docker-cleanup-volumes.sh


docker swarm

swarm関係以外のコンテナを一括削除



$ docker rm -f $(docker ps -a | grep -v swarm | grep -v NAME | awk '{print $NF}')


docker machine

swarm master以外のホストを全削除



$ docker-machine rm $(docker-machine ls | grep -v master | grep -v NAME | awk '{print $1}')



リモートホストでコマンド実行



$ docker-machine ssh <hostname> <cmd>

(Ex) docker-machine ssh remote-host sudo cat /var/log/upstart/docker.log



リモートホストでスクリプト実行



$ docker-machine scp <script_name> <hostname>:~ && docker-machine ssh <hostname> sudo bash <script_name>

(Ex) docker-machine scp test.sh remote-host:~ && docker-machine ssh remote-host sudo bash test.sh