Docker 中的网络功能

来源:互联网 发布:stm32单片机教程 pdf 编辑:程序博客网 时间:2024/06/05 20:12
Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。
外部访问容器
容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映
射。
映射所有接口地址
使用 hostPort:containerPort 格式本地的 5000 端口映射到容器的 5000端口,可以执行
$ sudo docker run -d -p 5000:5000 training/webapp pythonapp.py
此时默认会绑定本地所有接口上的所有地址。

映射到指定地址的任意端口
使用 ip::containerPort 绑定 localhost 的任意端口到容器的 5000端口,本地主机会自动分配一个端口。
$ sudo docker run -d -p 127.0.0.1::5000 training/webapp pythonapp.py
还可以使用 udp 标记来指定 udp 端口
$ sudo docker run -d -p 127.0.0.1:5000:5000/udptraining/webapp python app.py

容器互联
容器的连接(linking)系统是除了端口映射外,另一种跟容器中应用交互的方式。
该系统会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信息。
$ sudo docker run -d -P --name web --link db:dbtraining/webapp python app.py

Docker 通过 2 种方式为容器公开连接信息
环境变量
更新 /etc/hosts 文件














原创粉丝点击