Skip to content

网络

✨ 端口映射

https://vuepress.mirror.docker-practice.com/network/port_mapping/

sh
docker run -p <宿主机端>:<容器端> 镜像
sh
$ docker run -d -p 127.0.0.1:80:80/udp nginx:alpine

查看端口

sh
docker port [container_id]

docker port my-nginx 80

✨ network

https://vuepress.mirror.docker-practice.com/network/linking/

docker 有很多种网络类型,默认是 bridge ,相当于创建了一个虚拟网络。

sh
docker network ls

docker network inspect 网络名字
sh
docker network create -d bridge my-net

-d 指定网络类型

  • bridge 桥接网络
  • overlay 覆盖网络
sh
docker run -it --rm --name busybox1 --network my-net busybox sh

docker run -it --rm --name busybox2 --network my-net busybox sh

ping busybox2 是可以 ping 通的

✨ DNS

https://vuepress.mirror.docker-practice.com/network/dns/

docker compose

compose 会创建自己的私有网络,这个网络别人不可以使用。

如果想多个 compose 使用一个网络,需要自己手动创建,然后在 compose 里指定使用这个网络。

docker network create my_shared_network
yml
networks:
  my-shared-net:
    external: true
    name: my_shared_network

services:
  web:
    image: nginx
    networks:
      - my-shared-net