记录一次docker安装遇到的坑
内网低版本内核linux服务器要安装docker
1.离线安装docker
这一步没什么难度在网上找个安装包上传到服务器上按步骤安装
安装地址:Index of linux/static/stable/x86_64/
解压,然后将docker文件夹的内容复制到/usr/bin文件夹中便于平时启动
最后注册成系统服务
添加到service: vim /etc/systemd/system/docker.service
这里是基础配置,详细配置可使用指定配置文件来启动服务
[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notify# the default is not to use systemd for cgroups because the delegate issues still# exists and systemd currently does not support the cgroup feature set required# for containers run by dockerExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPID# Having non-zero Limit*s causes performance problems due to accounting overhead# in the kernel. We recommend using cgroups to do container-local accounting.LimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinity# Uncomment TasksMax if your systemd version supports it.# Only systemd 226 and above support this version.#TasksMax=infinityTimeoutStartSec=0# set delegate yes so that systemd does not reset the cgroups of docker containersDelegate=yes# kill only the docker process, not all processes in the cgroupKillMode=process# restart the docker process if it exits prematurelyRestart=on-failureStartLimitBurst=3StartLimitInterval=60s[Install]WantedBy=multi-user.target
上述文件取自于:https://blog.csdn.net/qq_24442273/article/details/123786928
2.
启动docker的时候遇到错误
AUFS was not found in /proc/filesystem,或者Failed to built-in GetDriver graph devicemapper /var/lib/docker
FS,filesystem是linux所用的文件系统,低内核版本的linux一般使用的是overlay或者vfs和devicemapper。出现这种错误是因为启动docker时你的系统没有你所指定的文件系统类型。
解决方法为,在 /etc/docker/daemon.json里面指定"storage-driver"为你系统支持的fs
如果你的系统只有overlay的话可能又会遇到一个巨坑:
the backing xfs filesystem is formatted without d_type support
什么是d_type
d_type 是 Linux 内核的一个术语,表示 “目录条目类型”,而目录条目,其实是文件系统上目录信息的一个数据结构。d_type,就是这个数据结构的一个字段,这个字段用来表示文件的类型,是文件,还是管道,还是目录还是套接字等。
d_type 从 Linux 2.6 内核开始就已经支持了,只不过虽然 Linux 内核虽然支持,但有些文件系统实现了 d_type,而有些,没有实现,有些是选择性的实现,也就是需要用户自己用额外的参数来决定是否开启d_type的支持。
检查xfs文件系统是否支持d_type
[root@10-80-119-18 ~]# xfs_info /
meta-data=/dev/vda2 isize=256 agcount=9, agsize=2589248 blks= sectsz=512 attr=2, projid32bit=1= crc=0 finobt=0
data = bsize=4096 blocks=20843184, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=5057, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
注意以上输出中的ftype字段,为0则表示不支持。
解决方案
- 指定docker的存储驱动类型为devicemapper,devicemapper不需要文件系统支持d_type,但docker官方目前推荐使用overlay2,因此不选择此方案。
- 重新格式化docker data-root目录所在的文件系统,xfs格式化时添加参数
ftype=1
,如下
mkfs.xfs -n ftype=1 /dev/mapper/vg_data-lv_data -f
上述关于d_type内容转自于:docker启动报错the backing xfs filesystem is formatted without d_type support - 安安
改为devicemapper方法我的服务器不支持devicemapper所以不行,因为是上线的服务器
不可能格式化root目录,所以两个方法都行不通。
所幸的是我的服务器还支持vfs,在daemon.json里面指定了"storage-driver"为"vfs"之后启动便不报关于FS的错误了。
3. iptable和filewall的冲突
最后还遇到了Failed to program NAT chain: INVALID_ZONE: docker这个问题,大致应该是因为iptable和filewall冲突导致,如果想解决得修改防火墙。线上环境不好修改,所以得另外的想方法
我这里指定了关闭docker的iptable功能之后成功终于成功启动
关闭方法:在/etc/docker/daemon.json中添加 "iptables":false
记录一次docker安装遇到的坑相关推荐
- docker安装redis并将配置文件和数据文件映射到外部
[Docker那些事]系列文章 Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT指令的区别 构建Docker镜像指南,含实战 ...
- Docker安装及部署
Docker安装及部署 一.Docker安装 二.安装Centos容器并安装Jdk 三.Docker安装部署Redis 四.Docker部署Nginx 五.Docker安装Mysql 持续记录.... ...
- docker 安装fileBrowser
fileBrowser 是一个 Web 文件浏览器,它更类似于一个网盘服务器,使我们可以在浏览器中访问服务器上的文件资源.同时,fileBrowser 还支持添加多个用户,并为不同的用户设置不同的访问 ...
- docker安装jenkins并且通过jenkins部署项目(超详细and靠谱)
一.简介: 本文主要记录如何通过docker安装jenkins,并且通过jenkins部署项目,最终效果是只要在jenkins对某个项目点击构建,jenkins就会去gitLab上拉取最新项目的最新代 ...
- 记录一下Ubuntu下安装Docker遇到的坑
安装了一天的docker安装的我头皮发麻 由于是新装的系统,所以缺少一堆的依赖 第一个问题,就是缺少依赖的问题 Selecting previously unselected package dock ...
- centos7安装mysql日志空白_centos7安装Mysql爬坑记录 - G
centos7安装Mysql爬坑记录 查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装任何 ...
- 【记录】Docker 安装 activemq
[记录]Docker 安装 activemq 拉取镜像 创建active文件目录 启动容器 访问控制台 拉取镜像 docker pull webcenter/activemq 创建active文件目录 ...
- 【记录】Docker安装后出现 Cannot connect to the Docker daemon
[记录]Docker安装后出现 Cannot connect to the Docker daemon 错误描述 分析及解决方案 解决 启动Docker 将登陆账户加入 Docker 组 配置开机启动 ...
- Centos Docker 安装 Redis 并测试使用记录
Docker 安装 Redis 安装过程记录 查看可用的 Redis 版本 拉取 Redis 镜像 查看镜像安装情况 运行容器 查看运行情况 安装过程记录 查看可用的 Redis 版本 通过redis ...
最新文章
- hive数据仓库摘录和总结
- iOS如何实现语音播报及后台播放
- 客户端(STS)连接服务器上redis时的问题
- 浅谈Java中类加载机制
- 树:哈夫曼树和哈夫曼编码的详细介绍以及代码实现
- 基于主机Overlay和自研虚拟化网关的VPC在360的落地
- caffe 使用小技巧
- 【报告分享】中国城市人工智能发展指数报告.pdf(附下载链接)
- freeCAD transform stepamp;amp; stp to stl logging py2exe 打包
- 用Python求三角形面积
- win10 自定义右键菜单
- 吴恩达机器学习课程笔记(英文授课) Lv.1 新手村(回归)
- wuc-tab标签点击不了_不干胶标签专属定制
- SharpDevelop学习笔记(4)——SharpDevelop的核心
- 经常说的ROI是什么,怎么计算
- Tensorflow基础4:run()函数
- 成长部落# 编辑推荐 Python 入门学习内容系列
- 什么是嵌入式视觉?ARM处理器打造嵌入式视觉硬件
- 如何从照片中提取文字?
- 我的Java学习之路(第十六天)----- Java实现杨辉三角
热门文章
- mysql 排序序列_Mysql序列(八)—— group by排序问题 怀瑾握瑜XI
- 与同行的对比,M-DAO的崛起已成定局
- PAT-1014 福尔摩斯的约会
- 校园网连不上ipv6问题
- 地图经纬度坐标相互转换度分秒
- 为什么王者荣耀总是服务器中断,王者荣耀服务器正在维护中怎么回事 7月4日王者荣耀进不去怎么办...
- 短网址系统设计与实战
- Linux学习入门-------------------------VMvare与镜像的安装与配置
- 洛谷P3009-[USACO11JAN]Profits S(DP-最大子段和)
- 前尘浮华一场梦 NOI2018 游记