连接到macvlan网络后,默认会按照设置好的ip子网顺序分配IP。比如子网为192.168.31.0/24,就会根据容器先后启动顺序分配192.168.31.2、192.168.31.3、192.168.31.3,……。并且每次重启容器都会发生改变。

经过研究,可以用如下命令直接分配固定ip:

docker network connect --ip 固定ip地址 macvlan的id 容器id

提示;执行命令前请先解绑容器的网络,并创建好相应的macvlan。