No se puede iniciar el contenedor después de la actualización de Docker

premisa:

Dado que la versión del sistema operativo utilizada era relativamente baja, centos7.3, iba a actualizar el sistema operativo y luego realicé la operación de actualización de yum. Como resultado, Docker también se actualizó de una versión olvidada a la última versión 24, lo que resultó en el uso de contenedores que ya no estaban disponibles, ahora la pequeña ballena volcó. . .

Luego reinstale Docker y haga una copia de seguridad de /var/lib/docker para evitar que la pequeña ballena se ahogue nuevamente.

Después de la reinstalación, descubrí que Docker todavía no podía iniciarse. Luego reinicié el servidor. Después de reiniciar, Docker podía iniciarse, pero ¿qué pasa con el contenedor anterior? . . . Afortunadamente, hice una copia de seguridad y restauré la copia de seguridad anterior.

o mi k, dinosaurio lleva al dragón, lleva al dragón, empieza jajaja

Luego descubrí que el contenedor MySQL que estaba usando no se podía volver a iniciar. Maldita sea

[root@localhost lib]# docker start adapapapadafa5c578
Error response from daemon: driver failed programming external connectivity on endpoint mysql (09e4e0982ceef0b2a8ff4fea7e208fb65c211b1a749a04feb1cf901a6a8d5d12):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 13337 -j DNAT --to-destination 172.17.0.5:3306 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1))

Después de verificar la información, resulta que se trata de una disputa entre Docker, Firewalld e iptables.

原因:
docker服务启动时定义的自定义链DOCKER由于 centos7 firewall 被清掉

firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。

当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。

当你使用的是 Systemd 的时候, firewalld 会在 Docker 之前启动,但是如果你在 Docker 启动之后再启动 或者重启 firewalld ,你就需要重启 Docker 进程了。

重启docker服务及可重新生成自定义链DOCKER
解决:
systemctl restart docker
docker start 容器名

Resumir:

1. Antes de operar el sistema, asegúrese de tomar una instantánea

2. Antes de ejecutar comandos peligrosos, asegúrese de hacer una copia de seguridad

3. Después de actualizar el sistema operativo, para utilizar mejor el nuevo sistema, puede reiniciar selectivamente el servidor cuando la empresa no esté ocupada para cargar nuevos servicios y kernels.

Bienvenidos a todos a seguir mi cuenta oficial, aprender juntos sobre operación y mantenimiento, seguridad y desarrollo, trabajar duro juntos y progresar juntos. 

 

Supongo que te gusta

Origin blog.csdn.net/u011630259/article/details/131608799
Recomendado
Clasificación