Docker
docker 调试工具
F&Q
- docker 使用 root 用户的方法:
docker exec -it --user root <container id> /bin/bash
kubernetes python 输出不显示问题
- Docker 容器中,pyhotn 输入无显示,这是因为 python
print
在 Linux Docker 容器是缓存输出,需要设置环境变量即可实现实时输出
$ cat Dockerfile
...
ENV PYTHONUNBUFFERED=1
# 或
python -u /main.py
$ python --help
...
-u : force the stdout and stderr streams to be unbuffered;
this option has no effect on stdin; also PYTHONUNBUFFERED=x
failed to start daemon: error initializing graphdriver: overlay2: unknown option overlay2.override_kernel_check: overlay2
新版本的docker,需要将 /etc/docker/daemon.json
中的 overlay2.override_kernel_check
去掉
Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
修改 /etc/default/grub
文件中的 GRUB_CMDLINE_LINUX
参数为
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
执行如下命令更新 grub 配置文件后,重启系统
sudo update-grub
或
grub2-mkconfig -o /boot/grub2/grub.cfg
Failed to mount overlay: no such device storage-driver=overlay2
- 错误日志:如上和
docker [graphdriver] prior storage driver overlay2 failed: driver not supported
- 原因:
overlay
没有加载
# 查看是否加载,空为未加载
sudo lsmod | grep overlay
# 查看是否存在
ls -lh /lib/modules/$(uname -r)/kernel/fs/overlayfs/overlay.ko
# 不存在安装
sudo apt-get install --reinstall linux-modules-$(uname -r)
# 手动加载
sudo modprobe overlay