前言:到目前为止,docker已经进行了几天的学习。
包含以下几个部分:简介与安装,容器与镜像的概念,数据管理。到今天的docker网络设置。
由上面几部分,我们可以搭建自己的docker并且实现数据的交换,容器的调用等功能。
docker 网络
一、docker网络基础
1.1 外部访问容器
创建容器时,可根据-p
与-P
实现容器端口的映射。
当使用-P
时,Docker
会随机映射一个端口到容器内部开放的网络端口。
-p
则可以指定要映射的端口,并且,在一个指定端口上置可以绑定一个容器
映射所有接口地址
使用hostPort:containerPort
格式本地的80端口映射到容器的80端口
$ docker run -d -p 80:80 nginx:alpine
映射到指定地址的指定端口
使用ip:hostPort:containerPort
格式指定映射使用一个特定地址,比如localhost
地址127.0.0.1
$ docker run -d -p 127.0.0.1:80:80 nginx:alpine
映射到指定地址的任意端口
使用ip::containerPort
绑定localhost
的任意端口到容器的80端口,本地主机会自动分配一个端口
$ docker run -d -p 127.0.0.1::80 nignx:alpine
查看端口映射配置
使用 docker port
来查看当前映射的端口配置,也可以查看绑定的地址
$ docker port fa 80
0.0.0.0:32768
1.2 容器互联
大家可以通过自定义Docker
网络来连接多个容器
新建网络
可通过如下命令创建一个新的网络
$ docker network create -d bridge my-net
连接容器
运行一个容器并连接到新建的网络中
$ docker run -it --rm --name busybox1 --network my-net busybox sh
$ docker run -it --rm --name busybox2 --network my-net busybox sh
二、Docker的网络模式
主要包括一下几种模式:Bridge模式,Host模式,None模式,Container模式
- Bridge模式:类似于路由器分配二级ip
- Host模式:直接使用本地主机的端口
- None模式:禁用网络功能
- Container模式:此模式下的容器共享IP、端口范围等
三、高级网络配置
更新中。。。