赞
踩
项目上激活码申请需要指定ip、mac和hostname三个属性
在将服务做成容器的情况下处理方法
1.docekr 容器默认网络连接方式是bridge
在安装docker服务的时候自动生成一个路由,即下面的172.17.0.1
所有容器都通过连接到这个路由上与网络通信
2.这种情况下如果不进行配置容器ip、mac、hostname都是不可控的
解决方法1
docker run有很多可以控制容器属性的optinon,包括权限、cpu、内存、网络等;
控制ip、mac、hostname的三个optinon分别是
–mac-address=fe:fc:fe:74:5c:2c --ip=172.17.0.10 -h=ds1
设置ip需要在自定义网络中才能够使用
使用默认网络会报下面的错
docker: Error response from daemon: user specified IP address is supported on user defined networks only.
解决
创建自定义网络
docker network create --subnet=172.18.0.0/16 mynetwork
查看
docker network ls
再指定刚才创建的网络使用上面的命令固定ip即可
–net mynetwork --mac-address=fe:fc:fe:74:5c:2c --ip=172.18.0.10 -h=ds1
在docker run时加上上面的optinon可以固定容器对应的属性
解决方法2
docker run 可以加optinon控制网络连接方式,可以使用
–net=host
切换到共享宿主机网络模式,这种模式我理解是,在网络层面上就像是在宿主机上起了一个普通的进程,mac、ip、hsotname都是共享的主机,文件层面还是隔离的
这样就可以使用宿主机的ip、mac、hostname申请注册码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。