Anarckk
1)在使用docker run启动容器时,使用–restart参数来设置:
–restart具体参数值详细信息:
no - 容器退出时,不重启容器;
on-failure - 只有在非0状态退出时才从新启动容器;
always - 无论退出状态是如何,都重启容器;
还可以在使用on - failure策略时,指定Docker将尝试重新启动容器的最大次数。默认情况下,Docker将尝试永远重新启动容器。
docker run –restart=on-failure:10 redis
2)如果创建时未指定 –restart=always ,可通过update 命令
docker update –restart=always xxx
作者:吴龙华Tester
链接:https://www.jianshu.com/p/b07045ba9f7d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
创建容器的时候报错WARNING: IPv4 forwarding is disabled. Networking will not work.
1 | docker run -p 3000:3000 liyasthomas/postwoman:latest |
1 | vim /usr/lib/sysctl.d/00-system.conf |
添加如下代码:
1 | net.ipv4.ip_forward=1 |
重启network服务
1 | systemctl restart network |
完成以后,删除错误的容器,再次创建新容器,就不再报错了。
从原理上讲,使用的是docker网桥在容器间进行数据转发。
安装好frpc之后,代理一个端口,并在配置的local_ip里填写另一个容器的ip地址
1 | type = tcp |
然后启动frpc,映射一个外网端口
1 | docker run -d --name frpc -v /data/frp/frpc.ini:/frp/frpc.ini -p 32171:32171 frpc:0.30.0 |
从原理上,不需要实际对被代理的172.17.0.3:80做端口外网映射。因为frpc使用的是docker网桥,将访问frpc的外网流量反向代理过去。
自从docker容器出现以来,容器的网络通信就一直是大家关注的焦点,也是生产环境的迫切需求。而容器的网络通信又可以分为两大方面:单主机容器上的相互通信和跨主机的容器相互通信。而本文将分别针对这两方面,对容器的通信原理进行简单的分析,帮助大家更好地使用docker。
基于对net namespace的控制,docker可以为在容器创建隔离的网络环境,在隔离的网络环境下,容器具有完全独立的网络栈,与宿主机隔离,也可以使容器共享主机或者其他容器的网络命名空间,基本可以满足开发者在各种场景下的需要。按docker官方的说法,docker容器的网络有五种模式:
1 | echo "执行容器启动"; |
使用方法参考:
dockerfile 文件内容
1 | FROM alpine:3.8 |
新建文件 /dockerfile/Dockerfile ,把上面的内容放进去,然后在这个目录内执行
1 | docker build --build-arg FRP_VERSION=0.30.0 -t frpc:0.30.0 . |
执行镜像
推荐启动命令
1 | docker run -d --restart always -v /volume1/docker/frpc/conf/frpc.ini:/frp/frpc.ini oldiy/fprc:版本号 |
1 | docker run -d --name frpc -v /data/frp/frpc.ini:/frp/frpc.ini -p 80:80 -p 32317:32317 frpc:0.30.0 |
1 / 2