zoukankan      html  css  js  c++  java
  • docker在centos7下的一些坑

    在centos的docker上安装mysql提示chown mod /var/lib/mysql permission denied,通过下面的方法1解决。 

    在centos上挂载数据卷,在容器内部访问数据卷的时候报permission denied出错,通过下面的方法1解决。

    1.Centos7安全Selinux禁止了一些安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会提示如下信息:

    1 [root@localhost mariadb]# docker run -d  -v ~/mariadb/data/:/var/lib/mysql -v ~/mariadb/config/:/etc/mysql/conf.d  -e MYSQL_ROOT_PASSWORD=‘123456‘ test01/mariadb
    2 19c4aa113c610f53f9720ee806e3c918dd18d21dff75c043bdd6db60011a135d
    3 [root@localhost mariadb]# docker ps -a
    4 CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                                       NAMES
    5 19c4aa113c61        test01/mariadb      "docker-entrypoint.sh"   4 seconds ago       Exited (1) 1 seconds ago                                               desperate_kelle

    logs命令查看,发现提示信息是:chown: changing ownership of ‘/var/lib/mysql/....‘: Permission denied

    于是,解决方法有这么三个:

    1. 在docker run中加入 --privileged=true  给容器加上特定权限
    2. 关闭selinux
    3. 在selinux添加规则,修改挂载目录de

    2. 有时候,在启动带有端口映射的容器时候,会出现如下提示:

    1 iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 52080 -j DNAT --to-destination 192.168.20.22:52080 ! -i docker0: iptables: No chain/target/match by that name

    这玩意,查来查去也没给解释,参考了下http://www.lxy520.net/2015/09/24/centos-7-docker-qi-dong-bao/,这篇文章说要修改iptables的文件,只是centos7有可能根本就没有这个文件,或者没有装iptables的服务,结果最后重启宿主机,恢复了,期间尝试使用firewall-cmd命令查询,和停止防火墙。此思路供后人参考。

  • 相关阅读:
    函数模板的局限性级解决方法(第三代具体化)
    模板实现机制
    函数模板与普通函数的区别以及调用规则
    函数模板基本用法及泛型
    向上类型转换和向下类型转换
    虚析构和纯虚析构
    纯虚函数和抽象类
    多态原理
    静态联编和动态联编即多态的概念
    虚基类的内部工作原理
  • 原文地址:https://www.cnblogs.com/YDDMAX/p/6184100.html
Copyright © 2011-2022 走看看