借鉴网络一篇文章,maik一下
1、Docker网络模式概览
docker network list
NETWORK ID NAME DRIVER SCOPE
c53fad18e45b bridge bridge local
944636e5a53e host host local
ade481fd388f none null local
bridge:桥接网络默认网络类型,容器内不特殊指定,就用此类型。不特殊指定的话,分配的ip为172.17.0.x
none:无指定网络容器内不指定局域网ip
host:主机网络和主机共用一个ip,会出现和宿主机争抢端口情况,非特殊需要尽量少用
最常用的就是利用bridge,自定义虚拟网桥来固定IP。默认情况下,docker的容器重启之后,会自动分配IP,导致一次重启IP变化。所以需要对docker容器指定IP。由于docker默认的网络不能固定ip地址,我们创建自定义虚拟网桥,进行固定IP的分配。
2、 创建自定义网络
docker network create --subnet=192.168.120.0/24 DockerNetBridge
3、查看网络信息
docker network inspect DockerNetBridge
docker network list
NETWORK ID NAME DRIVER SCOPE
f27f780cc924 DockerNetBridge bridge local
c53fad18e45b bridge bridge local
944636e5a53e host host local
ade481fd388f none null local
4、创建容器并指定容器IP,在自定义的网段选取任意IP作为启动容器的IP
docker run --runtime=nvidia -i -d --net GJLDockerNetBridge --ip 192.168.120.10 --name test -v /home/junli/GJLImages/test/:/GJL/data/ nvidia/cuda:8.0-devel /bin/bash
docker run -i -d --net NetBridgeName --ip 192.168.120.x --name test -v 本地主机文件位置:容器文件位置 REPOSITORY:TAG /bin/bash
--runtime=nvidia 使用显卡就添加,不用可以不添加
--net 网桥名字
--ip 分配各容器的IP
--name 容器名字
-v 本地工作目录:docker工作目录
5、运行容器,测试本机和容器是否ping通文章来源:https://www.toymoban.com/news/detail-513189.html
docker exec -it test /bin/bash
apt-get update
apt install iputils-ping
ping 192.168.1.116
最后,对相关操作总结文章来源地址https://www.toymoban.com/news/detail-513189.html
docker network create --subnet=x.x.x.0/24 netBridgeName(网桥名称,随便写即可) ----创建网桥
docker run -itd --network=netBridgeName --ip x.x.x.8 --name dockerName imageName ----指定ip
docker network list ----查看docker下网络模式
docker network rm netBridgeName ----删除创建的网桥
到了这里,关于ubuntu中docker配置指定ip的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!