解决docker安装完成报:bridge-nf-call-iptables is disabled问题

centos机器 docker安装完成后,输入docker info命令,报如下警告信息解决方法:

1)警告信息如下:

WARNING: bridge-nf-call-iptables is disabled

WARNING: bridge-nf-call-ip6tables is disabled

2)解决方法:

修改系统文件是的机器bridge模式开启

设置机器开机启动的时候执行下面两条命令

编辑vim /etc/rc.d/rc.local添加下面两条命令

echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables

centos7需要增加执行权限:

chmod +x /etc/rc,d/rc.local

3)重启系统

补充知识:重启 Kubernetes Pod 的几种方式

前言

在使用 docker 的过程中,我们可以使用docker restart {container_id}来重启容器,但是在 kubernetes 中并没有重启命令(没有 kubectl restart {podname}),有时候我们的 Pod 出现 Bug 意外终止,导致我们需要重启 Pod ,却没有一个很好的方式,特别是没有 yaml 文件的情况下,所以我总结了以下几种重启 Pod 的方式。

方法 1

有最新的 yaml 文件。

在有 yaml 文件的情况下可以直接使用kubectl replace --force -f xxxx.yaml 来强制替换 Pod 的 API 对象,从而达到重启的目的。如下:

[root@test-129-70 viua]# kubectl replace --force -f viua.yml
namespace "viua" deleted
service "viua-app-cms" deleted
deployment.apps "viua-app-cms" deleted
service "viua-app-command" deleted
deployment.apps "viua-app-command" deleted
service "viua-show-service" deleted
deployment.apps "viua-show-service" deleted
service "viua-skills-service" deleted
deployment.apps "viua-skills-service" deleted
namespace/viua replaced
secret/xa-harbor-ca replaced
service/viua-app-cms replaced
deployment.apps/viua-app-cms replaced
service/viua-app-command replaced
deployment.apps/viua-app-command replaced
service/viua-show-service replaced
deployment.apps/viua-show-service replaced
service/viua-skills-service replaced
deployment.apps/viua-skills-service replaced

方法 2

没有 yaml 文件,但是使用的是 Deployment 对象。

kubectl scale deploy viua-app-cms --replicas=0 -n viua

kubectl scale deploy {deploy对象} --replicas=0 -n {namespace}

[root@test-129-70 pvd]# kubectl get deploy -n viua
NAME     READY UP-TO-DATE AVAILABLE AGE
viua-app-cms   1/1  1   1   48m
viua-app-command  1/1  1   1   48m
viua-show-service  1/1  1   1   48m
viua-skills-service 1/1  1   1   48m
[root@test-129-70 pvd]# kubectl scale deploy viua-app-cms --replicas=0 -n viua
deployment.apps/viua-app-cms scaled
[root@test-129-70 pvd]# kubectl get deploy -n viua
NAME     READY UP-TO-DATE AVAILABLE AGE
viua-app-cms   0/0  0   0   49m
viua-app-command  1/1  1   1   49m
viua-show-service  1/1  1   1   49m
viua-skills-service 1/1  1   1   49m
[root@test-129-70 pvd]# kubectl get po -n viua
NAME         READY STATUS RESTARTS AGE
viua-app-command-95f7b6f7f-rb7mh  1/1  Running 0   49m
viua-show-service-85565b9dcf-ss8qp  1/1  Running 0   49m
viua-skills-service-65447f9b94-fhqhr 1/1  Running 0   49m

由于 Deployment 对象并不是直接操控的 Pod 对象,而是操控的 ReplicaSet 对象,而 ReplicaSet 对象就是由副本的数目的定义和 Pod 模板组成的。所以这条命令分别是将 ReplicaSet 的数量 scale 到 0,然后又 scale 到 1,那么 Pod 也就重启了。

方法 3

同样没有 yaml 文件,但是使用的是 Deployment 对象。

使用命令kubectl delete pod {podname} -n {namespace}

这个方法就很简单粗暴了,直接把 Pod 删除,因为 Kubernetes 是声明式 API,所以删掉了之后,Pod API 对象就与预期的不一致了,所以会自动重新创建 Pod 保持与预期一致,但是如果 ReplicaSet 管理的 Pod 对象很多的话,那么要一个个手动删除,会很麻烦,所以可以使用kubectl delete replicaset {rs_name} -n {namespace}命令来删除 ReplicaSet

方法 4

没有 yaml 文件,直接使用的 Pod 对象。

使用命令kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -

在这种情况下,由于没有 yaml 文件,且启动的是 Pod 对象,那么是无法直接删除或者 scale 到 0 的,但可以通过上面这条命令重启。这条命令的意思是 get 当前运行的 pod 的 yaml 声明,并管道重定向输出到 kubectl replace命令的标准输入,从而达到重启的目的。

总结

我们可以通过多种方式来重启对象,总的来说,最推荐的方式是使用kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -这种方式,因为适用于多种对象。此外,重启 Pod 并不会修复运行程序的 bug,想要解决程序的意外终止,最终还是得要修复 bug。

以上这篇解决docker安装完成报:bridge-nf-call-iptables is disabled问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Docker为网络bridge模式指定容器ip的方法

    前言 众所周知bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace.设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上.下面来看看Docker为网络bridge模式指定容器ip的方法. 实现方法 如果只是简单创建一个bridge模式的网络是无法给容器指定ip的 [root@vultrvpn conf.d]# docker network create --driver bridge wordpress_net ad1ff3d972

  • docker容器状态的转换实现

    一 docker容器状态转换图 二 实战 [root@localhost ~]# docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 3 Server Version: 17.09.0-ce Storage Driver: overlay Backing Filesystem: xfs Supports d_type: false Logging Driver: json-file Cgroup Driver: cg

  • 一次docker错误的耗时排查过程记录

    由来 客户是深信服的订制系统,基于 centos 改的,排查半天发现居然是文件损坏,而不是 docker 的问题. 环境信息 docker信息: $ docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 2 Server Version: 18.09.3 Storage Driver: overlay2 Backing Filesystem: xfs Supports d_type: true Native Overl

  • 解决docker安装完成报:bridge-nf-call-iptables is disabled问题

    centos机器 docker安装完成后,输入docker info命令,报如下警告信息解决方法: 1)警告信息如下: WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled 2)解决方法: 修改系统文件是的机器bridge模式开启 设置机器开机启动的时候执行下面两条命令 编辑vim /etc/rc.d/rc.local添加下面两条命令 echo 1 > /proc/sy

  • 解决docker安装后运行hello-world报错的问题

    在centos7.3上yum安装了docker V1.13.1 但是在运行:docker run hello-world的时候报错: # docker run docker.io/hello-world container_linux.go:247: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set

  • 解决docker pull镜像报错的问题

    描述: 在win10下安装VM,在VM里运行docker,使用docker pull拉取镜像时报错 一. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 原因: 使用docker pull 命令拉取镜像时,如果不添加额外的信息如docker pull nginx

  • 解决Python安装cryptography报错问题

    错误一: gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7

  • 解决vue安装less报错Failed to compile with 1 errors的问题

    1.创建vue项目后安装less,执行 npm install less less-loader --save-dev 下载版本为:less-loader@6.1.0 , less@3.11.3,重启服务报错,报错信息如下: 2.报错原因 less 本版太高需要降低版本,执行代码 先移除之前版本: npm uninstall less-loader 下载指定版本: npm install less-loader@5.0.0 -D 3.重启代码就可以了,若还是报错可移除文件node_modules

  • 解决anaconda安装pytorch报错找不到包的问题

    目录 前言 状况描述: 问题描述 解决办法: 前言 使用anaconda 命令安装pytorch包的问题,以下给出解决办法. 状况描述: 由于是第一次接触安装,看了很多篇文章,也遇到了一些坑,在此总结一下. 安装pytorch,从硬件上分为2个版本,一个是cpu,一个是gpu(显卡).gpu版本可以加速训练效果. 由于本人的电脑比较旧,显卡是rtx1050,我安装了cuda9.0版本+cudnn+pytorch(torch+torchvision) 本人安装的是gpu版本的,在这个过程中,走了一

  • 完美解决docker安装mysql后Navicat连接不上的问题

    一.docker拉取镜像 docker pull mysql (默认拉取最新版本的) 二.运行mysql docker run -p 3308:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql 容器名:mysql 密码:123456 三.查看是否运行 docker ps -a 四.查看启动日志 docker logs mysql mysql就是刚刚启动的容器名,确认mysql启动是正常的 五.错误 当我用Navicat进行链接的时候

  • win7下docker安装与报错问题的解决方法

    安装Docker 1.下载docker 首先去官网docker地址去选择下载 2.安装的时候一直next下去,第二部可以改一下安装的路径自定义,后面会提示安装几个插件,同意就好. 3.安装完了出现finish,如果电脑安装过git中途可能报错不管就好. 4.这时候页面出现三个图标点击Docker Quickstart Terminal这个图标 5.可能提示未找到,如果没有弹出是否修复该图标(查找一下对应程序一般在C盘下面),如果实在没有第二方法直接去安装目录下面启动start.sh也是一样的 6

  • 解决ant-design-vue安装报错的问题

    目录 ant-design-vue安装报错问题 版本 解决方法 安装ant-design-vue报错 npm ERR! Error: EPERM: operation not permitted ant-design-vue安装报错问题 版本 Vue-CLI@4.3.0 Less-Loader@6.1.0 解决方法 在vue.config.js里加入解决~ module.exports = { + css: { + loaderOptions: { + less: { + lessOptions

  • 解决Docker启动Elasticsearch7.x报错的问题

    使用Docker run 命令 docker run -d -p 9200:9200 -p 9300:9300 --name 用户自定义名字 容器ID 会看到一串字符串,一般情况下我们会误以为它启动成功 我们执行docker ps -a是发现它自动退出了 使用docker logs -f 容器ID 查看日志发现: ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] li

随机推荐