Docker 网络

本文介绍 Docker 网络。

官方文档:https://docs.docker.com/engine/userguide/networking/

网络类型

bridge

桥接类型 是创建容器时默认连接的网络类型,用的比较多,这里不再详细介绍。

host

容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP 和端口,容器可以和宿主机一样,使用宿主机的 eth0 实现和外界的通信。换言之容器的 IP 地址即为宿主机 eth0 的 IP 地址。

$ docker run -dit --network host nginx:alpine

现在访问 主机 IP 即可看到 nginx 默认页面。

none

这样创建出来的容器完全没有网络。

$ docker run -it --rm nginx:alpine ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    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
5: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 scope global eth0
       valid_lft forever preferred_lft forever

后边可以通过 docker network connect bridge CONTAINER_ID 来将没有设置网络的容器连接到一个网络。

container:name or id

--network="container:name or id

通过此参数启动的容器,拥有与被连接的容器相同的网络。

创建网络

$ docker network create -d bridge [ --subnet 172.25.0.0/16 ] NETWORK_NAME

-d 指定网络驱动,默认为 bridge,在 Swarm mode 中也可以创建 overlay 类型的网络。

查看网络

$ docker network ls

NETWORK ID          NAME                DRIVER              SCOPE
369f1b30c236        bridge              bridge              local
991412261a72        host                host                local
269fb25e6d2d        none                null                local

查看网络详情

$ docker network inspect bridge

容器连接网络

可以固定容器 IP

$ docker run --network=NETWORK_NAME [ --ip=172.25.3.3 ] ...

$ docker run --network="container:id or name"

$ docker network connect NETWORK_NAME CONTAINER_NAME

断开网络

$ docker network disconnect NETWORK_NAME CONTAINER_NAME

移除网络

$ docker network rm NETWORK_NAME

$ docker network prune

Swarm mode

$ docker network create \
    --driver overlay \
    --subnet 10.0.9.0/24 \
    NETWORK_NAME

$ docker service create \
    --replicas 2 \
    --network NETWORK_NAME \
    --name my-web \
    nginx

Overlay network

ingress network

The ingress network is created automatically when you initialize or join a swarm.

docker_gwbridge

The docker_gwbridge network is created automatically when you initialize or join a swarm.

设置代理

17.07+

~/.config.json

{
  "proxies":
  {
    "default":
    {
      "httpProxy": "http://127.0.0.1:3001",
      "noProxy": "*.test.example.com,.example2.com"
    }
  }
}

other

设置环境变量,请查看 官方文档

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker Cloud 简介

    Docker Cloud 是官方推出的构建、测试镜像,管理 Swarm mode,自动以镜像方式部署服务的地方。 构建镜像 和我们熟悉的 Dockr Hub 一...

    康怀帅
  • Docker 数据管理

    我们已经熟悉了 -v 或者 --volume,官方最近建议( Docker 17.06+ ) 使用 --mount。 官方文档:https://docs.doc...

    康怀帅
  • Nginx HTTPS 配置

    本文详细介绍了 HTTPS 配置。 GitHub:https://github.com/khs1994-website/nginx-https 完整配置文件 H...

    康怀帅
  • python接口测试之http请求

    python的强大之处在于提供了很多的标准库,这些标准库可以直接调用,本节部分,重点学习和总结在接口测试中Python的Http请求的库的学习。

    无涯WuYa
  • DBus数据库表结构变更处理方案

    导读:DBus是我们要介绍的在敏捷大数据(Agile BigData)背景下的第一个平台。企业中大量业务数据保存在各个业务系统数据库中,为同时解决数据同步的一致...

    宜信技术学院
  • Alexa研究人员通过减少数据不平衡,可将AI系统错误率降低30%

    平衡的训练数据是分类器的主要障碍,当一类样本不成比例地对语料库做出贡献时,分类器自然会比其他类型更频繁地遇到它,因此有可能对它产生偏见。

    AiTechYun
  • 深度学习替代手机ISP可行吗?

    上图给出了作者所构建的RAW-RGB数据样例。由于所采集的数据集可能并非完美对齐,作者首先进行对齐(SIFT+RANSAC),然后进行裁剪(448x448),仅...

    AIWalker
  • PyTorch Tricks 集锦

    设置当前使用的GPU设备仅为0号设备,设备名称为 /gpu:0: os.environ["CUDA_VISIBLE_DEVICES"] = "0"

    用户2769421
  • Jenkins在shell脚本运行docker权限报错解决

    能够在shell中使用docker version打印版本号,但是无法执行docker,报错信息如下

    易墨
  • LiteAVSDK 使用 Licence 介绍与常见问题

    Licence 从字面上看就是许可的意思,这里可以类比为通行证。开发者持有合法的通行证(Licence)才能调用 LiteAVSDK 里面对应权限的 API 接...

    腾讯云-chaoli

扫码关注云+社区

领取腾讯云代金券