A configuración de VPN só sobrevive á recreación do contedor se a montas
Un ficheiro editado dentro dun contedor en execución vive nunha capa que desaparece. Compara bind mounts, volumes e segredos, logo recrea e verifica catro cousas.
Editas a configuración de WireGuard dentro dun contedor en execución, funciona, e a seguinte actualización da imaxe bórraa. Nada estaba mal configurado. O ficheiro vivía na capa de escritura do contedor, que só existe para esa instancia do contedor. A comparación que importa non é que ferramenta usar, senón que entradas declara o teu despregamento. Todo o que editaches a man é unha entrada que o despregamento non coñece.
Dous tipos de estado, un é desbotable
Un contedor ten unha capa de escritura para os cambios feitos en tempo de execución, e esa capa descártase cando o contedor se substitúe. Non é un almacén de configuración nin unha copia de seguridade. A imaxe máis as entradas declaradas son a definición completa do que se executa.
Pregúntate cales dos teus ficheiros de VPN son entradas declaradas e cales son accidentes:
docker diff wg-vpn
docker inspect --format '{{json .Mounts}}' wg-vpnO diff enumera que cambiou na capa de escritura, que é exactamente o conxunto de cousas que desaparecerán. A listaxe de montaxes mostra que sobrevive. Comparar os dous responde a pregunta antes de que perdas algo.
Bind mount, volume con nome ou segredo: que protexe cada un
Os tres poden conter un perfil de VPN, e difiren en quen pode lelo e que pasa na substitución.
| Mechanism | Survives recreation | Who can read it |
|---|---|---|
| Writable layer | No | Anyone with container access, until it is gone |
| Bind mount | Yes, while the host path exists | Whatever the host permissions allow |
| Named volume | Yes, until the volume is removed | Managed by the runtime |
| Secret | Yes, as a declared input | The container process, by design |
Un bind mount asigna unha ruta do host, así que o ficheiro está tan protexido como o estea esa ruta e tan visible como o permitan os permisos do host. Un volume con nome xestiónao o runtime e sobrevive á eliminación do contedor, o que o converte na opción predeterminada máis segura para o estado que posúe o despregamento. Un mecanismo de segredo é para material que non queres nunha imaxe ou nunha variable de contorno.
Non trates cada variable de contorno e cada ficheiro do host como unha protección equivalente, porque non o son.
Editar dentro do contedor é a trampa
A trampa non é a ferramenta, senón a dirección da edición. Un cambio feito dentro dun contedor en execución é invisible para o despregamento, así que a seguinte recreación revérteo en silencio e o síntoma parece unha regresión na imaxe. Se debes facer un cambio alí para diagnosticar, cópiao fóra de inmediato e pono na entrada declarada. Logo recrea para demostrar que o despregamento o reproduce.
Un perfil pode levar chaves privadas e material de conta, o que fai que unha copia de seguridade dese ficheiro sexa unha tarefa de xestión de segredos en lugar dunha copia de ficheiro. Mantén a propiedade e o acceso de lectura limitados ao proceso real do contedor, en lugar de ampliar un directorio do host para que desapareza un erro de permisos.
Esa ampliación é como unha comodidade do contedor se converte nunha exposición do host.
Recrea a propósito e logo verifica catro cousas
Anota a versión da imaxe, o dispositivo e as capacidades necesarios, a conexión de rede e as entradas persistentes. A lista de dispositivo e capacidades importa especialmente para un contedor de VPN, porque o túnel necesita o dispositivo de rede e o privilexio para configuralo.
Confirma que estado xerado en tempo de execución debe reconstruírse en lugar de gardarse. As chaves que o túnel xerou no primeiro arranque son estado, e se as conservas ou as rexeneras é unha decisión con consecuencias para cada peer que coñece a clave pública antiga.
Tras unha recreación controlada, verifica identidade, encamiñamento, DNS e o bloqueo de fallo requirido. Un proceso que arrinca sen erros non demostra ningún deses catro. Compróbao mentres o túnel está activo e de novo despois de detelo, porque o bloqueo de fallo só se mostra cando o túnel desaparece.
Mantén unha copia de recuperación fóra do contedor
Mantén unha copia de recuperación que viva independentemente do contedor, e proba restaurala mediante o proceso documentado. Unha copia de seguridade non probada dun perfil de VPN é unha esperanza, sobre todo cando a ruta de restauración implica permisos que o proceso do contedor necesita.
Se se substitúe un contedor propietario dunha VPN, coordina as aplicacións que comparten a súa pila de rede dentro do ciclo de vida compatible do runtime.
Esa coordinación é a diferenza entre un reinicio e unha interrupción. O despregamento debería describir de onde vén a configuración, e a documentación de volumes é o lugar para comprobar que persiste realmente o runtime.