更改docker机器的URL

我通过docker-machine create -d azure --azure-static-public-IP创build了一台docker-machine create -d azure --azure-static-public-IP 。 但我所做的是有意更改了该虚拟机的公有IP地址。 有了这个举动,我不能docker-machine ssh或任何docker机相关的命令。 似乎仍然向前一个公共IP发送请求。 我如何更改该IP并将其转换为新的? 我试图docker-machine regenerate-certs ,甚至改变config.json,但没有发生任何事情…

我看到解决这个问题的唯一方法是恢复该VM的以前的公共IP

你的意思是当你运行Docker-machine ssh出现这个错误:

检查TLS连接时出错:检查和/或重新生成证书时出错:validation主机“13.91.60.237:2376”的证书时出错:x509:证书对于40.112.218.127而不是13.91.60.237有效您可以尝试重新生成它们使用“docker-machine regenerate-certs [name]”。 请注意,这将触发Docker守护进程重启,可能会停止运行容器。

在我的testing实验室里,我的第一个IP地址是40.112.218.127 ,然后我把它13.91.60.237 ,得到这个错误。

然后我用这个命令重新生成它: docker-machine regenerate-certs jasonvmm ,像这样:

 [root@jasoncli@jasonye jasonvmm]# docker-machine regenerate-certs jasonvmm Regenerate TLS machine certs? Warning: this is irreversible. (y/n): y Regenerating TLS certificates Waiting for SSH to be available... Detecting the provisioner... Installing Docker... Copying certs to the local machine directory... Copying certs to the remote machine... Setting Docker configuration on the remote daemon... [root@jasoncli@jasonye jasonvmm]# docker-machine ssh jasonvmm Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-47-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 208 packages can be updated. 109 updates are security updates. Last login: Fri Dec 8 06:22:09 2017 from 167.220.255.48 

另外,我们可以使用这个命令来检查新的设置: docker-machine env jasonvmm

 [root@jasoncli@jasonye jasonvmm]# docker-machine env jasonvmm export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://13.91.60.237:2376" export DOCKER_CERT_PATH="/root/.docker/machine/machines/jasonvmm" export DOCKER_MACHINE_NAME="jasonvmm" # Run this command to configure your shell: # eval $(docker-machine env jasonvmm) 

请使用此脚本来重新docker-machine regenerate-certs VMname

希望这可以帮助。

你应该可以在“config.json”中改变IP地址。 例如,如果我必须更改我的默认docker机上的IP,我会去这里:

 /Users/arne/.docker/machine/machines/default/config.json 

调整IP并运行

 docker-machine regenerate-certs myVM 

这应该工作。