Docker 空间占用
注:关于清理空间部分目前并没有总结出实际可用的方案,下边只是一些探索记录。
Docker 的 df 命令
1 2 3 4 5 6 7 8
| docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 2 2 380MB 0B (0%) Containers 2 2 0B 0B Local Volumes 21 0 446.7MB 446.7MB (100%) Build Cache 0 0 0B 0B
|
然而感觉并不大,上df -hl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| df -hl
Filesystem Size Used Avail Use% Mounted on udev 463M 0 463M 0% /dev tmpfs 99M 11M 88M 11% /run /dev/vda1 25G 25G 0 100% / tmpfs 493M 0 493M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 493M 0 493M 0% /sys/fs/cgroup tmpfs 99M 0 99M 0% /run/user/0 overlay 25G 25G 0 100% /var/lib/docker/overlay2/0c44aacce0a523f8d96af3c6c20e02ef3331961dab7e676299bb8c366/merged shm 64M 0 64M 0% /var/lib/docker/containers/efa1960dd0e4c2d5fb8d2ba756b781e0d9392a148620334b70fd0c7/mounts/shm overlay 25G 25G 0 100% /var/lib/docker/overlay2/0ccf53346b8e4227b82530273532608b186fbf54545818340c9c8f062/merged shm 64M 0 64M 0% /var/lib/docker/containers/1ca6b4a758efaed43d715bde4f9b3f435682c4cfd7441b52b69a9ad/mounts/shm
|
搜索到的清理命令是docker system prune [-a]
,-a
参数会清理的比较彻底,然而执行后并没能解决问题。。
安装 Nginx
直接运行docker pull nignx
会报错,大概意思是需要账号密码啥的,执行docker login
进行登录。
没有账号的去https://hub.docker.com
注册。
手动指定 tag 可能成功率高些【玄学】:docker pull nginx:latest
。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| docker run --rm --name "nginx" -p 80:80 nginx
mkdir -p /root/nginx/{conf,conf.d,html,log}
docker run -d --name nginx -p 80:80 \ -v /root/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \ -v /root/nginx/log:/var/log/nginx \ -v /root/nginx/html:/usr/share/nginx/html \ nginx
|
关于 nginx.conf 和 default.conf
网上找到的教程提到要自己创建 nginx.conf 然后映射进容器,然而会报错:
“server” directive is not allowed here in /etc/nginx/nginx.conf
【/root/nginx/log/error.log 会记录错误日志】
经过实际查验容器内的文件发现需要自己映射的文件应该是-v /root/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
以下为排查过程,同时也是 Docker 比较重要的使用姿势。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
docker run -it --name "nginx" -p 80:80 nginx /bin/bash
docker ps docker exec -it 10ff26ba7281 /bin/bash
find ./ -name "nginx.conf"
exit
docker cp 10ff26ba7281:/etc/nginx/nginx.conf /root/nginx/conf/nginx.conf
docker cp 10ff26ba7281:/etc/nginx/conf.d/default.conf /root/nginx/conf.d/default.conf
|
其他
Get https://registry-1.docker.io/v2/****: unauthorized: incorrect username or password
1 2
| cd /var/lib/docker/overlay2/ du -sh *
|