栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

有没有一种方法可以强制docker

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

有没有一种方法可以强制docker

在问题1709中主动请求

docker/machine

当我使用docker-machine create创建虚拟机时,我希望能够指定VM的IP地址(即docker-machine ls中“
URL”下列出的值)。

我想要这个是因为我一直依赖boot2docker的默认地址192.168.59.103,但是现在它随计算机的不同而不同。

在目前的解决方法:

我的virtualbox的dhcp范围为192.168.99.100-255,我想在100之前设置IP。

我发现了一个设置静态IP的简单技巧:创建机器后,我运行以下命令并重新启动机器:

echo "ifconfig eth1 192.168.99.50 netmask 255.255.255.0 broadcast 192.168.99.255 up" | docker-machine ssh prova-discovery sudo tee /var/lib/boot2docker/bootsync.sh > /dev/null

此命令创建一个文件

bootsync.sh
,该文件可通过
boot2docker
启动脚本进行搜索并执行。

现在,在计算机引导过程中,将执行命令并设置静态IP。

docker-machine lsNAME   ACTIVE   DRIVER       STATE     URL     SWARMtest-1-        virtualbox     Running   tcp://192.168.99.50:2376      test-1 (master)

Michele Tedeschi(

micheletedeschi

添加

我用以下命令更新了命令:

echo "kill `more /var/run/udhcpc.eth1.pid`nifconfig eth1 192.168.99.50 netmask 255.255.255.0 broadcast 192.168.99.255 up" | docker-machine ssh prova-discovery sudo tee /var/lib/boot2docker/bootsync.sh > /dev/null

然后运行命令(仅第一次)

docker-machine regenerate-certs prova-discovery

现在IP不会被DHCP更改

(用

prova-discovery
您的docker-machine的名称替换)


dmvbf.bat
根据以上内容,这是我现在使用的(Windows)脚本():

@echo offsetlocal enabledelayedexpansionset machine=%1if "%machine%" == "" (    echo dmvbf expects a machine name    exit /b 1)set ipx=%2if "%ipx%" == "" (    echo dmvbf x missing ^(for 192.168.x.y^)    exit /b 2)set ipy=%3if "%ipy%" == "" (    echo dmvbf y missing ^(for 192.168.x.y^)    exit /b 3)echo kill $(more /var/run/udhcpc.eth1.pid) | docker-machine ssh %machine% sudo tee /var/lib/boot2docker/bootsync.sh >NULecho ifconfig eth1 192.168.%ipx%.%ipy% netmask 255.255.255.0 broadcast 192.168.%ipx%.255 up | docker-machine ssh %machine% sudo tee -a /var/lib/boot2docker/bootsync.sh >NULecho route add default gw <gateway ip address here> | docker-machine ssh %machine% sudo tee /bar/lib/boot2docker/bootsync.sh >NULdocker-machine ssh %machine% "sudo cat /var/run/udhcpc.eth1.pid | xargs sudo kill"docker-machine ssh %machine% "sudo ifconfig eth1 192.168.%ipx%.%ipy% netmask 255.255.255.0 broadcast 192.168.%ipx%.255 up"

(注:在Windows 10,评论,这是

udhcpc.eth0.pid
不是
udhcpc.eth1.pid

我启动vm(

docker-machine start <machine-name>
),然后:

 dmvbf <machine-name> 99 101

我只做一次。

接下来

docker-machine start <machine-name>
,IP将为192.168.99.101。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380318.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号