docker在centos7下的一些坑

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

1 [[email protected] 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 [[email protected] 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命令查询,和停止防火墙。此思路供后人参考。

				
时间: 2024-11-03 22:48:58

docker在centos7下的一些坑的相关文章

Docker 安装(centos7下)

下面链接为官方的安装方法(官方的是最好的): https://docs.docker.com/install/linux/docker-ce/centos/#upgrade-docker-after-using-the-convenience-script 一.官方源安装 1.卸载旧版本 sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logro

Docker在Centos7下的安装

一.检查前提条件 内核 检查内核的版本是否安装了3.8或更高的版本 [[email protected] ~]# uname -aLinux localhost.localdomain 3.10.0-123.13.2.el7.x86_64 #1 SMP Thu Dec 18 14:09:13 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 2.检查Device Mapper [[email protected] ~]# ls -l /sys/class/misc/

【docker】 centos7 下 使用docker 安装mysql

1 获取 mysql 镜像 docker pull mysql:5.7 2 创建mysql的镜像,并运行 docker run -d -p 3307:3306 -e [email protected]666 --name codeforphp_mysql mysql:5.7 参数说明 -d 让容器在后台运行 -p 添加主机到容器的端口映射 -e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置 –name 容器的名字,随便取,但是必须唯一 ps: 其实我们可以仅仅使用do

centos7下安装docker时出现没有安装包docker问题的解决

我在centos7下安装docker时遇到了没有安装包docker,我不知道大家是否有遇到过,是否有好的解决办法,下面把我个人的解决办法给大家奉献上,希望对大家有所帮助. 因为按照大家认为的Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: $ yum install docker -y 但是安装提示没有安装包docker 后来自己结合查阅的资料终于整理出了解决办法 我们需要在/etc/yum.repo.d/目

在CentOS7下从0开始搭建docker并发布tomcat项目

一切从0开始,我也是个小白: 1.检查你的系统是不是高于3.8的内核,如果没有请升级CentOS7或者Ubuntu 14 #uname -a 2.CentOS7下安装docker #yum -y install docker 3.查看docker版本 #docker version 4.启动docker服务 #docker service start 5.查看本地镜像 #docker images 6.如果没有本地镜像,可以下载一个centos7的镜像来作为基础运行环境 #docker pull

CentOS-7下安装docker

CentOS-7 下安装docker 原文地址:https://www.cnblogs.com/yufeng218/p/8370670.html 一.安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看你当前的内核版本 2.使用 root 权限登录 Centos.确保 yum 包更新到最新. 原文地址:https://www.cnblogs.com/zh

Centos7下Mysql8.0安装手册 以及 一些坑点总结

MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) 默认编码utf8默认编码使用utf8mb4, utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符历史,MySQL数据库的 "utf8"并不是真正概念里的 UTF-8.MySQL中的"utf8"编码只支持最大3字节每字符.真正的大家正在使用

CentOS7下使用Docker容器化.net Core 2.2

原文:CentOS7下使用Docker容器化.net Core 2.2 一.使用 yum 安装(CentOS 7下) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看你当前的内核版本 二.安装 Docker 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE. Docker CE 即社区免费版,Dock

CentOS7 下安装 ElasticSearch 5.x 及填坑

ElasticSearch简介 什么是ElasticSearch: ElasticSearch是基于Apache Lucene构建的开源搜索引擎 采用Java编写,提供了简单易用的RESTFul API 轻松的横向扩展,可支持PB级的结构化或非结构化的数据处理 应用场景: 海量数据分析引擎 站内搜索引擎 作为数据仓库 一线公司实际应用场景: 英国卫报 - 实时分析公众对文章的回应 维基百科.GitHub - 站内实时搜索引擎 百度 - 实时日志监控平台 单实例安装ElasticSearch 在安