Docker下,使用 docker run --privileged 镜像名字
出现错误:
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
导致,容器里面的mysql 始终无法启动,
经过测试,去掉 --privileged 即可,但是必须使用--privileged 怎么办?
1: 完全删除宿主机里与mysql有关的
sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common //这个很重要
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
2: 重启宿主机即可,
reboot
docker run --priviledge 镜像 ,此时可用
错误原因:
--privileged 是给容器真正的root权限
此时,容器的mysql会先加载宿主机的mysql apparmor ,正常情况下应该加载容器里的配置
不知道怎么修改,只能删除宿主机的mysql