
Docker contenedor IP cambiar esta cosa, realmente no crees tan misterioso
Cualquiera que haya trabajado con Docker sabe que la asignación de IP por defecto es como abrir una caja ciega, que te puede dar todo un segmento de red 172.17.0.X. Si varios contenedores quieren configurar una LAN, o necesitan una IP fija para acoplar el servicio proxy, esta asignación aleatoria puede ser un escollo. Hoy, vamos a entender cómo asignar una dirección IP aleatoria a un contenedor Docker.Dirección IP personalizadaPor cierto, te enseñaré a jugar con las IPs proxy de ipipgo.
Comprender primero el mecanismo "Virtual NIC" de Docker
Por defecto, Docker crea una red virtual llamada bridge, que es como un barrio separado para los contenedores. Si quieres cambiar el número de puerta (IP), tienes que crear un nuevo vecindario tú mismo:
Crea una nueva subred llamada my-net y establece la puerta de enlace en 192.168.99.1
docker network create --subred=192.168.99.0/24 --gateway=192.168.99.1 mi-red
Tenga cuidado de no entrar en conflicto con el segmento de red del host, se recomienda utilizar un segmento frío como 192.168.99.X o 10.10.10.X. Después de construir el segmento de red, utilice el comandodocker network lsPodrás ver la mi-red que se acaba de enderezar.
La postura correcta para asignar una IP fija a un contenedor
Arrancar el contenedor con el parámetro -ip está hecho, pero hay dos escollos a tener en cuenta:
1. Deben especificarse las redes personalizadas
Demostración de error (usando la red por defecto se reportará un error)
docker run -it --ip 192.168.99.10 ubuntu
Postura correcta
docker run -it --red=mi-red --ip 192.168.99.10 ubuntu
2. La IP debe estar dentro del segmento de red
Por ejemplo, si construyes un segmento 192.168.99.0/24, las IPs disponibles son 192.168.99.1~192.168.99.254. Se recomienda hacer una tabla de asignación de IPs:
| Nombre del contenedor | utilice | Dirección IP |
|---|---|---|
| web01 | servicio frontal | 192.168.99.10 |
| proxy01 | Transitario | 192.168.99.20 |
| db01 | amplia base de datos | 192.168.99.30 |
Configuración de IP proxy en contenedores
Es el momento de salir de nuestro ipipgo, tomarnos el agente residencial estático como una castaña:
Establezca el proxy global en el contenedor
export http_proxy="http://用户名:密码@gateway.ipipgo.net:端口"
export https_proxy="http://用户名:密码@gateway.ipipgo.net:端口"
Prueba la IP para ver si funciona
curl ipinfo.io
Si ves que la IP devuelta resulta ser el nodo de ipipgo, es sólido. Sugiere usar suPaquete residencial estático35 $ al mes por una IP fija, mucho más fiable que la dinámica.
Preguntas frecuentes QA
P: ¿Qué debo hacer si no puedo obtener un ping entre contenedores después de cambiar la IP?
R: Comprueba primero las reglas del cortafuegos, luego asegúrate de que todos los contenedores están en la misma red personalizada. Puedes usar docker network inspect my-net para ver el estado de la conexión.
P: ¿Qué debo hacer si la IP proxy deja de conectarse de repente?
R: Primero usa docker exec en el contenedor para probar la conectividad de red. Si es un problema con los nodos de ipipgo, su servicio de atención al cliente responde rápidamente, y el fondo también puede auto-servicio de conmutación de nodos de salida.
P: ¿Cómo puedo gestionar agentes para varios contenedores a la vez?
R: Se recomienda utilizar la API de ipipgo para obtener dinámicamente el proxy y escribir un script de shell para actualizarlo regularmente. La documentación de su API puede ser entendida por estudiantes de primaria, soporta múltiples formatos json y txt.
Di algo desde el corazón.
De hecho, la configuración de red de esta cosa, es como bloques de construcción, trate de un par de veces más para entender la puerta. ipipgo tiene un ladrón buen uso de la función-.Configuración del cliente con un solo clicUsted no tiene que recordar todos esos comandos complicados. Especialmente para los rastreadores o de recogida de datos de edad, elegir directamente su línea de TK, que tirar de red Docker para ahorrar un montón de angustia. Recuerde, la tecnología es para los servicios empresariales, no poner el carro delante del caballo.

