error while loading shared libraries: libaio.so.1: cannot open shared object file:Permission denied

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 

 

error while loading shared libraries: libaio.so.1: cannot open shared object file:Permission denied_第1张图片

你可能感兴趣的:(MySQL,Docker)