docker 添加规则--重启生效

参考https://docs.docker.com/network/iptables/
这里面说明了添加的规则,添加完成后是可以生效,问题是系统重启呢?或者docker重启呢都会重新写iptables规则,添加就失效了
所以好的办法是放在docker重启后添加。

[root@CentOS7-6 middleware]# cat  set_rule.sh
#!/bin/bash
rule_num=$(iptables -L DOCKER -n --line-number |  grep 9200 |  awk '{print $1}')
if [ "$rule_num" != ""  ];then
  iptables -R DOCKER $rule_num  -p tcp -m tcp -s  10.6.118.22 --dport 9200 -j ACCEPT ;
  echo  "set rule ok"
else
  echo "iptables rule needn't set."
fi
[root@CentOS7-6 middleware]# cat /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
Wants=docker.socket

[Service]
Type=notify
Environment=GOTRACEBACK=crash
ExecReload=/bin/kill -s HUP $MAINPID
Delegate=yes
KillMode=process
ExecStart=/usr/bin/dockerd \
        --default-address-pool base=172.17.0.0,size=16 \
        --insecure-registry=intranet.uihcloud.registry:5000 \
        --data-root /data/docker_lib \
        --log-opt max-size=10m \
        --log-opt max-file=3
ExecStartPost=/var/middleware/set_rule.sh
TasksMax=infinity
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=1min
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

还看到有一种方式添加privileged=true http://www.manongjc.com/article/127102.html 待测试。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文主要介绍 docker swarm 对于容器应用的调度管理分析。Docker swarm 1.12.0 是一...
    wh0am11阅读 11,586评论 0 3
  • 本文翻译自docker官网:https://github.com/docker/cli/blob/master/d...
    wcnwyx阅读 7,080评论 0 0
  • 前言 最近看一篇文章中提到 WSL 中已经支持 Docker 运行了,最初不以为意以为还是千篇一律的标题党 ( D...
    anyesu阅读 18,451评论 2 23
  • 注意 stop,restart后的容器,或者commit后的镜像启动环境变量需要重新加载,比如 source /e...
    sean_liu_01阅读 303评论 0 0
  • 01【熟悉】docker简介 1,什么是docker Docker是一个开源项目,诞生于2013年初,最初是d...
    北辰_6666阅读 345评论 0 0