Docker常见问题汇总
有些问题参考:
https://www.cnblogs.com/adolfmc/p/12589283.html
Crontab不执行
|
|
容器配置如何修改
大家可以用docker inspect ctos83.162
命令来查看配置信息。这里的配置信息是可以更改的,比如我们的容器/home/dockerRoot/containers/...
目录中有如下的文件:
|
|
注意
这里要特别提醒,直接修改配置没那么容易,修改的配置在镜像重启之后就又被还原了。有效的办法是先关闭 docker.service服务,再修改配置文件,最后再启动docker.service服务。
SSH登录到容器
如果想从外部远程SSH登录到容器,关键是想办法进入容器时启动 systemd,请用下面命令创建容器:
|
|
opensuse 参考:
https://dhenandi.com/how-to-running-systemd-on-opensuse-docker-container/
systemd容器无法重启
如果遇到启用了 systemd 的容器无法重启,会失败报错误:
Failed to attach 1 to compat systemd cgroup init.scope
可以检查一下/etc/docker/daemon.json
中加入下面的配置:
|
|
设置时区和字符集
设置时区参考:
参考:/2021/05/10181354-ntp-time.html
字符集:
|
|
有可能字符集出现下面的问题,可能vi的时候出现乱码:
[root@test /]# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
C.utf8
POSIX
容器中找不到gunzip
可能会出现下面的错误:Sorry, but I could not find gunzip in path. Aborting.
|
|
主机getty进程cpu占用率100%
原因:使用"docker run"运行容器时使用了 /sbin/init 和 –privileged 参数。而且这样的容器可能启动了多个,权限冲突了。
解决方法:Docker中运行下述命令关闭服务,甚至把宿主机的此项服务也关闭。
|
|
参考:https://www.cnblogs.com/deny/p/10297507.html
也可能会出现Linux内核自带的虚拟化内存管理服务CPU跑满的情况,在大内存的情况下,可以关闭这个服务,不会影响docker的性能。
systemctl status ksmtuned.service
systemctl disable ksmtuned.service
systemctl stop ksmtuned.service
启用Docker的服务器无法进入主机桌面
关键词:进入,登录,控制台,桌面,快捷键
存在一种情况,如果主机中的Docker容器是自启动的,这样主机重启的时候显示器中将显示主机中第一个Docker容器的控制台登录界面。如何退出此容器的登录界面,进入主机的窗口呢?可以尝试Ctrl+Alt+[F1/F2/F3/F4...]
,后面的F1,F2,F3,F4代表是不同的系统桌面。
Docker中一些命令无法执行
曾经出现过容器中一些命令无法执行,显示无权限,例如:
ping: error while loading shared libraries: libcap.so.2: cannot stat shared object: Permission denied
这可能是因为宿主机中一些安全机制在作祟,关闭宿主机 apparmor
服务试一试:
systemctl status apparmor.service
systemctl disable apparmor.service
systemctl stop apparmor.service
(未完待续)
- 原文作者: 闪电侠
- 原文链接:https://chende.ren/2021/06/17020156-docker-qa.html
- 版权声明:本作品采用 开放的「署名 4.0 国际 (CC BY 4.0)」创作共享协议 进行许可