在 VMWare 中提示 VM 与 Device/Credential Guard 不兼容
如果开启虚拟机的时候提示:
VM 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VM。
这说明本机中同时开启了 Hyper-v 服务,解决步骤如下:
- 禁用Device Guard或Credential Guard
运行 gpedit.msc
本地组策略编辑器。
转至 本地计算机策略 > 计算机配置 > 管理模板 > 系统 > Device Guard(或者是: 设备防护) > 打开基于虚拟化的安全性
。 选择已禁用。
- 通过命令关闭Hyper-V(控制面板关闭Hyper-V起不到决定性作用,要彻底关闭Hyper-V)
以管理员身份运行Windows Powershell (管理员)(Windows键+X),运行下面命令并重启电脑:
bcdedit /set hypervisorlaunchtype off
- 重启电脑即可
参考:解决VM 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VM 的方法
docker WARNING: IPv4 forwarding is disabled.
连不上网,连不上网,连不上网,那叫一个郁闷,查了资料,发现解决方案其实很简单:
在宿主机上运行:
$ echo net.ipv4.ip_forward=1 >> /usr/lib/sysctl.d/00-system.conf
$ systemctl restart network && systemctl restart docker
即可解决。
参考:docker WARNING: IPv4 forwarding is disabled. 解决方法
ubuntu: Unable to locate package
在装了一个 Ubuntu 的 Docker 镜像后,attach 进入后使用 apt-get install
提示:Unable to locate package
,解决方法很简单:
先执行 apt-get install
即可。
参考:Linux新手入门:Unable to locate package错误解决办法
在容器内 Permission denied
进入容器后, 查看当前目录提示 Permission denied
root@30cecd834d78:/usr/share/nginx/html# ls
ls: cannot open directory '.': Permission denied
解决方案有以下三种
- 在宿主机中执行
setenforce 0
- 运行时添加
--privileged=true
- 添加linux规则,把要挂载的目录添加到selinux白名单
更改安全性文本的格式如下
$ chcon [-R] [-t type] [-u user] [-r role] 文件或者目录
参数
- -R :该目录下的所有目录也同时修改;
- -t :后面接安全性本文的类型字段,例如 httpd_sys_content_t ;
- -u :后面接身份识别,例如 system_u;
- -r :后面街觇色,例如 system_r
例如
$ chcon -Rt svirt_sandbox_file_t ~/nginx/html
参考: Docker -v 对挂载的目录没有权限 Permission denied
no space left on device
启动容器的时候,报错:
现象:可能表现为文件、文件夹不能创建。
错误原因:服务器磁盘空间不足。