制作镜像的时候报错
devmapper: Thin Pool has 162394 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior
解决
# 清理exited进程:
docker rm $(docker ps -q -f status=exited)
# 清理dangling volumes:
docker volume rm $(docker volume ls -qf dangling=true)
# 清理dangling image:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
docker ip nat 功能不正常
yum install iptables-services -y
cat >>/etc/sysctl.conf << EOF
net.ipv4.ip_forward=1
EOF
sysctl -p
systemctl restart network
删除镜像时出错1 Device is Busy
Error response from daemon: driver "devicemapper" failed to remove root filesystem for {containerId}: failed to remove device {deviceId}: Device is Busy
解决方法1
umount /var/lib/docker/devicemapper/mnt/{deviceId}
如果还不行
fuser -a /dev/mapper/docker-253:0-1310846-{deviceId} 得出引用的pid
kill -9 pid即可
解决方法2
find /proc/*/mounts | xargs grep -E "{containerId}"
# 输出
/proc/17259/mounts:shm /var/lib/docker/containers/e2d5e867c98dac2d71e5fc6e61eecc4e1dad6882ac1d4f580f4702b50d698c5e/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=65536k 0 0
# 找到进程号之后
ps -eaf | grep 17259
# 输出
root 17259 1 0 15:33 ? 00:00:00 /usr/lib/systemd/systemd-machined
# 至此,可以知道是systemd-machined这个进程出的问题。
# 执行:
kill -9 17259
docker system prune
# 这样,docker环境恢复正常。
删除镜像时出错2 device or resource busy
Error response from daemon: Unable to remove filesystem for {containerId}: remove /var/lib/docker/containers/{containerId}/shm: device or resource busy
修改 /usr/lib/systemd/system/docker.service
配置文件 [Service]
段中加入 MountFlags=slave
,解决Bug .
操作过程
systemctl stop docker
sed -i '/\[Service\]/aMountFlags=slave' /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl start docker
创建容器时出错
docker: Error response from daemon: endpoint with name xxxx already exists in network host(或者是bridge)
这算是docker的一个bug!
解决办法1
名字重复了,给你的docker容器一个不同的名字
解决办法2
实测该方法无效
# 先删除容器
docker rm -f xxx
# 清理网络占用
docker network disconnect --force bridge xxxx
# 检查是否仍有同名容器占用
docker network inspect host/bridge
# 重新构建容器即可