28
32

More than 5 years have passed since last update.

docker バッドノウハウ集

Last updated at Posted at 2015-04-24

boot2docker VM のメモリとディスクサイズの調整

boot2docker 1.6 のデフォルトでは
- メモリ: 2G
- ディスク: 20G

だけど、僕の MacBook Mid 2011 (memory 4G, disk 480G) ではメモリは割り当てすぎだし、ディスクはすぐに足りなくなって、以下に書いたような image, volume の整理を頻繁にやらないといけないので不便。

Docker オフィシャルドキュメントではデータ活かしたままディスクを拡張する方法書いてあるけど、開発環境なので image, volume, container など無くなっても問題ないのでやり直す。

参考: https://ryanfb.github.io/etc/2015/01/28/increasing_boot2docker_allocations_on_os_x.html

~/.boot2docker/profile
# Disk image size in MB
DiskSize = 100000
# Memory in MB
Memory = 1024
boot2docker stop
boot2docker destroy
boot2docker init
boot2docker start

(動いていない) container を削除

docker ps -aq | xargs 

タグのついていない image を削除

動いている container が使ってるものは除外される。

docker images | grep "^<none>" | awk '{print $3}' | xargs docker rmi

container が削除されてしまった volume を削除

うっかり data volume container を -v なしで削除すると残ってしまう。
docker 1.6 の段階ではオフィシャルな削除方法が無い。
https://github.com/chadoe/docker-cleanup-volumes

docker run -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker:/var/lib/docker --rm martin/docker-cleanup-volumes 

怖いときは --dry-run

docker-spy - container 間で相互に通信した場合のお手軽 DNS サーバー

EDIT: 2015-12-13: FYI: Docker 1.9 network により同じ custom network 内の container 同士は /etc/hosts により名前で参照できるようになったので、 docker-dns-proxy では dnsmasq を使っています。

docker run --name docker_spy -p 53:53/udp -p 53:53 -v /var/run/docker.sock:/var/run/docker.sock iverberk/docker-spy  
docker run --dns 172.17.42.1 -h app.localdomain --rm -it centos:centos6 bash  

TIPS: nginx の resolver はデフォルトで ipv6 の "AAAA" record を探しに行き docker-spy が対応できないので

resolver 172.17.42.1 ipv6=off;

二度目の docker-compose up の前には

docker-compose により起動した container が存在する状態で up しようとすると、 bin/echo が無い image でも bin/echo を実行しようとして失敗するので、

docker-compose stop
docker-compose rm -f

ちなみにエラーはこんなやつ

Cannot start container 41fe5d69322cacc578b9251741c38f332c9939f19e90cc77105161ade0cfbb90: [8] System error: exec: "/bin/echo": stat /bin/echo: no such file or directory
28
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
32