Docker 运维记录
run命令中指定entrypoint
有时需要查看镜像的文件,或者在实例上去进行一些测试,就可以通过--entrypoint
来启动shell,例如:
1 | docker run --entrypoint /bin/sh -it --rm some-app |
Fix No chain/target/match by that name
最近在Alibaba Cloud Linux 3
上使用audo apt update
进行系统升级后,某个Docker容器无法重启,错误如下:
1 | Error response from daemon: Cannot restart container some-app: driver failed programming external connectivity on endpoint some-app (88301987d72d07ba99c1630461e1ade9d1fb53879b1d6f94fc8571ac7db7e2a6): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9015 -j DNAT --to-destination 172.17.0.3:9015 ! -i docker0: iptables: No chain/target/match by that name. |
首先排除了iptables的原因,因为我们在做容器化部署的服务器上,都禁用了iptables。
然后怀疑是系统更新的时候,影响到了Docker容器的某些配置,导致容器无法重启。但是重建容器后,还是无法重启,报一样的错误。
最后搜索了一下,找到了解决办法:
参考:docker启动容器报错(iptables failed)
重启docker服务即可:
1 | systemctl restart docker |