• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

1.1K
Views
¿Cómo accede el contenedor docker a Internet?

Tengo Docker instalado (Docker para Mac). Comienzo un nuevo contenedor con

 docker run -it ubuntu

Puedo ver que mi contenedor recién creado tiene acceso a Internet simplemente invocando

 ping google.com

Ya veo:

 root@b06e1a46cc40:/# ping google.com PING google.com (216.58.209.14) 56(84) bytes of data. 64 bytes from sof01s12-in-f14.1e100.net (216.58.209.14): icmp_seq=1 ttl=37 time=63.0 ms 64 bytes from sof01s12-in-f14.1e100.net (216.58.209.14): icmp_seq=2 ttl=37 time=63.7 ms 64 bytes from sof01s12-in-f14.1e100.net (216.58.209.14): icmp_seq=3 ttl=37 time=64.8 ms

A continuación, verifiqué las redes a las que está conectado mi contenedor:

 root@b06e1a46cc40:/# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1 link/ipip 0.0.0.0 brd 0.0.0.0 3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1 link/tunnel6 :: brd :: 6: eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0 valid_lft forever preferred_lft forever root@b06e1a46cc40:/#

Según tengo entendido, eth0 se usa para acceder a Internet: es una red 172.17.0.0/16.

Cuando miro la lista de redes de mi host, no estoy conectado a esta red.

Entonces, ¿cómo accede mi contenedor a Internet?

Según tengo entendido, mi contenedor debe acceder a Internet a través de mi host porque, después de todo, mi host está conectado a Internet, por lo que esta es la única forma de acceder.

about 3 years ago · Santiago Trujillo
3 answers
Answer question

0

Docker para Mac emplea el marco de macOS Hypervisor para ejecutar una distribución de Linux personalizada (CLD) en una máquina virtual (VM).

Ahora, el CLD dentro de la VM no tiene conectividad de red con el sistema operativo anfitrión (es decir, macOS), pero Docker para Mac llena el vacío (literalmente) a través de VPNkit .

VPNkit utiliza una cola de memoria compartida para enviar paquetes de red entre el host y el invitado, y luego los inyecta en la pila de red del otro lado.

Aquí hay algunos artículos relevantes que describen cómo funcionan estas cosas en detalle:

https://docs.docker.com/docker-for-mac/networking/ https://github.com/moby/vpnkit/blob/master/docs/ethernet.md https://github.com/moby/vpnkit /blob/master/docs/ports.md

Entonces, para responder a su pregunta directamente: las redes/interfaces que puede ver dentro de su contenedor no tienen contrapartes en el host (macOS). En cambio, cuando ejecuta ping google.com , VPNkit intercepta los paquetes de red resultantes dentro de la máquina virtual, los transfiere al host y los inyecta en la pila de red del host.

Lo mismo sucede con los paquetes entrantes, pero en la dirección opuesta.

about 3 years ago · Santiago Trujillo Report

0

Según tengo entendido, los contenedores Docker tienen una red aislada a la que se pueden conectar varios contenedores. Los contenedores en la misma red pueden comunicarse inmediatamente entre sí. Esta red interna puede ponerse a disposición de Internet. Consulte esta documentación: https://docs.docker.com/v17.09/engine/userguide/networking/#bridge-networks

about 3 years ago · Santiago Trujillo Report

0

Use la red host en la docker run -it --network host ubuntu

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error