1.在阿里云esc的ws2016里装docker只能使用windows container,因为官方也说了主机也是虚拟机所以不能开启Hyper-v。
2.默认使用nat模式运行network,该模式在hyper-v无法开启时,容器即使映射了端口,例如:8080:80,还是会导致主机localhost:8080或者127.0.0.1:8080无法访问。只能使用容器自己的IP访问。
3.nat模式下,容器重启会导致IP变化,如果run时希望绑定IP则可以使用 --ip ***.***.***.*** 。IP段可以不和Nat网关的IP段一致。但是注意,如果该Nat的subnet和gateway是空着的话,则不能指定固定IP。为空则通常是由于安装docker不完整导致(目前看来是)。查看network可以使用如下命令 docker network ls , docker network inspect [network id]
4.微软官方说明的network.drive有4个模式,默认Nat(适用于开发环境),网上查到生产环境有人推荐使用overlay模式,不过目前我还是使用的是Nat模式。
碰到的问题:
1.run时如果碰到“C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: failed to create endpoint apia2 on network nat: hnsCall failed in Win32: The process cannot access the file because it is being used by another process. (0x20)”。通常是主机的该端口被占用,换一个就好。