Docker容器中的networking性能变慢

我正在OSX Yosemite和VirtualBox上运行最新的docker / docker-machine,我试图连接到主机上的一个容器中运行的lein环服务器,加载速度比较慢。加载时间超过1分钟以下是我的configuration

Docker 1.12.0 Docker Machine 0.8.0 VirtualBox 5.0.24

我的Docker机器

“ConfigVersion”:3,“Driver”:{“IPAddress”:“192.168.99.100”,“MachineName”:“default”,“SSHUser”:“docker”,“SSHPort”:49478,“SSHKeyPath”:“/ Volumes /NASMAC/VMs/.docker/machine/machines/default/id_rsa“,”StorePath“:”/Volumes/NASMAC/VMs/.docker/machine“,”SwarmMaster“:false,”SwarmHost“:”tcp:// “SwarmDiscovery”:“”,“VBoxManager”:{},“HostInterfaces”:{},“CPU”:1,“Memory”:1024,“DiskSize”:20000,“NatNicType” “82540EM”,“Boot2DockerURL”:“”,“Boot2DockerImportVM”:“”,“HostDNSResolver”:false,“HostOnlyCIDR”:“192.168.99.1/24”,“HostOnlyNicType”:“82540EM”,“HostOnlyPromiscMode” “,”UIType“:”headless“,”NoShare“:false,”DNSProxy“:true,”NoVTXCheck“:false},”DriverName“:”virtualbox“,”HostOptions“:{”Driver“:”“,内存“:0,”磁盘“:0,”EngineOptions“:{”ArbitraryFlags“:[],”Dns“:null,”GraphDir“:”“,”Env“:[],”Ipv6“:false, InsecureRegistry“:[],”Labels“:[],”LogLevel“:”“,”StorageDriver“:”“,”SelinuxEnabled“:false,”TlsVerify“:true,”Re gistryMirror“:[],”InstallURL“:” https://get.docker.com “},”SwarmOptions“:{”IsSwarm“:false,”Address“:”“,”Discovery“:”“, “:false”,“Master”:false,“Host”:“tcp://0.0.0.0:3376”,“Image”:“swarm:latest”,“Strategy”:“spread”,“Heartbeat” “Overcommit”:0,“ArbitraryFlags”:[],“ArbitraryJoinFlags”:[],“Env”:null,“IsExperimental”:false},“AuthOptions”:{“CertDir”:“/ Volumes / NASMAC / .docker / machine / certs“,”CaCertPath“:”/Volumes/NASMAC/VMs/.docker/machine/certs/ca.pem“,”CaPrivateKeyPath“:”/Volumes/NASMAC/VMs/.docker/machine/certs /ca-key.pem“,”CaCertRemotePath“:”“,”ServerCertPath“:”/Volumes/NASMAC/VMs/.docker/machine/machines/default/server.pem“,”ServerKeyPath“:”/ Volumes / NASMAC /VMs/.docker/machine/machines/default/server-key.pem“,”ClientKeyPath“:”/Volumes/NASMAC/VMs/.docker/machine/certs/key.pem“,”ServerCertRemotePath“:”“, “ServerKeyRemotePath”:“”,“ClientCertPath”:“/Volumes/NASMAC/VMs/.docker/machine/certs/cert.pem”,“ServerCertSANs”:[],“StoreP ath“:”/Volumes/NASMAC/VMs/.docker/machine/machines/default“}},”Name“:”default“}

我的docker图片

{“Id”:“819132073e36a026222ad0da90899a0daf1e735ce0f8623202740b355556c136”,“Created”:“2016-08-28T23:35:03.957961657Z”,“Path”:“/ bin / bash”,“Args”:[“lein”,“with- profile开始开发“],”状态“:{”状态“:”正在运行“,”正在运行“:真,”已暂停“:假,”重新启动“:假,”OOMKilled “:false,”Dead“:false,”Pid“:3586,”ExitCode“:0,”Error“:”“,”StartedAt“:”2016-08-28T23:35:04.365339872Z“,”FinishedAt“: “0001-01-01T00:00:00Z”}, “图像”: “SHA256:618b57a0e5d07030a3f869607928f5e167b53a6f250f76f88325799888dcac94”, “ResolvConfPath”: “/var/lib/docker/containers/819132073e36a026222ad0da90899a0daf1e735ce0f8623202740b355556c136/resolv.conf”, “HostnamePath”:“/无功/ lib中/泊坞窗/集装箱/ 819132073e36a026222ad0da90899a0daf1e735ce0f8623202740b355556c136 /主机名 “ ”HostsPath“: ”在/ var / lib中/泊坞窗/集装箱/ 819132073e36a026222ad0da90899a0daf1e735ce0f8623202740b355556c136 /主机“, ”日志path“:” 在/ var / lib中/泊坞窗/集装箱/ 819132073e36a026222ad0da90899a0daf1e735ce0f8623202740b355556c136 /819132073e36a026222ad0da90899a0daf1e735ce0f8623202740b355556c136-json.log“,”Name“:”/ lonely_ritchie“,”RestartCount“:0,”Driver“:”aufs“,”MountLabel“:”“ProcessLabel”:“”,“AppArmorProfile” “,”ExecIDs“:null,”HostConfig“:{”Binds“:[”/Users/kendallarneaud/Documents/Git/ngc-race-along.docker:/data“],”ContainerIDFile“:”“,”LogConfig “:{”Type“:”json-file“,”Config“:{}},”NetworkMode“:”default“,”PortBindings“:{”3000 / tcp“:[{”HostIp“ HostPort“:”“}],”9000 / tcp“:[{”HostIp“:”“,”HostPort“:”“}]}”RestartPolicy“:{”Name“:”no“,”MaximumRetryCount“ 0,“AutoRemove”:false,“VolumeDriver”:“”,“VolumesFrom”:null,“CapAdd”:null,“CapDrop”:null,“Dns”:[],“DnsOptions”:[], “:”,“ExtraHosts”:null,“GroupAdd”:null,“IpcMode”:“”,“Cgroup”:“”,“Links:null,”OomScoreAdj“:0,”PidMode“ “Privileged”:false,“PublishAllPorts”:true,“ReadonlyRootfs”:false,“SecurityOpt”:null,“UTSMode”:“”,“UsernsMode”:“”,“ShmSize”:67108864, ntime“:”runc“,”ConsoleSize“:[0,0],”Isolation“:”“,”CpuShares“:0,”Memory“:0,”CgroupParent“:”“,”BlkioWeight“ BlkioDeviceReadBps“:null,”BlkioDeviceWriteBps“:null,”BlkioDeviceReadIOps“:null,”BlkioDeviceWriteIOps“:null,”CpuPeriod“:0,”CpuQuota“:0,”CpusetCpus“:”“,”CpusetMems “:”,“设备”:[],“DiskQuota”:0,“KernelMemory”:0,“MemoryReservation”:0,“MemorySwap”:0,“MemorySwappiness”:-1,“OomKillDisable” “0”,“Ulimits”:空,“CpuCount”:0,“CpuPercent”:0,“IOMaximumIOps”:0,“IOMaximumBandwidth”:0},“GraphDriver”:{“Name”:“aufs” Data“:null},”Mounts“:[{”Source“:”/Users/kendallarneaud/Documents/Git/Grace/ngc-race-along.docker“,”Destination“:”/ data“,”Mode“:” ,“RW”:true,“Propagation”:“rprivate”}],“Config”:{“Hostname”:“819132073e36”,“Domainname”:“”,“User”:“”,“AttachStdin” “AttachStdout”:true,“AttachStderr”:true,“ExposedPorts”:{“3000 / tcp”:{},“9000 / tcp”:{}},“Tty”:true, “OpenStdin”:true,“StdinOnce”:true,“Env”:[“no_proxy = * .local,169.254 / 16”,“PATH = / usr / local / sbin:/ usr / local / bin:/ usr / sbin :/ usr / bin:/ sbin:/ bin“,”HOME = / root“,”JAVA_HOME = / usr / lib / jvm / java-7-oracle“,”LEIN_ROOT = true“,”LANG = C.UTF- 8“,”PYTHON_VERSION = 2.7.9“,”Cmd“:[”/ bin / bash“,”lein“,”with-profile“,”dev“,”do“,”start-dev“], Image:“rand / docker-clojurescript:latest”,“Volumes”:null,“WorkingDir”:“/ data”,“Entrypoint”:null,“OnBuild”:null,“Labels”:{}},“NetworkSettings “:”“SandboxID”:“8b5479b9b22a6d653509c99f9b291593ca7664339666cf40bee55044f3c1d778”,“HairpinMode”:false,“LinkLocalIPv6Address”:“”,“LinkLocalIPv6PrefixLen”:0,“Ports”:{“3000 / tcp”:[{{ “HostIp”:“0.0.0.0”,“HostPort”:“32773”}],“9000 / tcp”:[{“HostIp”:“0.0.0.0”,“HostPort”:“32772”}]}, SandboxKey“:”/ var / run / docker / netns / 8b5479b9b22a“,”SecondaryIPAddresses“:null,”SecondaryIPv6Addresses“:null,”EndpointID“:”d4164a411f5ca1992eb724c4cd5cb2f013a1eb909b6d3e5f395d07df84ff34f2“ “Gateway”:“172.17.0.1”,“GlobalIPv6Address”:“”,“GlobalIPv6PrefixLen”:0,“IPAddress”:“172.17.0.2”,“IPPrefixLen”:16,“IPv6Gateway”:“”,“MacAddress” :“networking”:{“bridge”:{“IPAMConfig”:null,“Links”:null,“Aliases”:null,“NetworkID”:“fb82d366a9a2ad010bda7cdf4e6cb33f083a678756cfdfed01f90d3d2c317dfa”“02:42:ac:11:00: ,“EndpointID”:“d4164a411f5ca1992eb724c4cd5cb2f013a1eb909b6d3e5f395d07df84ff34f2”,“网关”:“172.17.0.1”,“IPAddress”:“172.17.0.2”,“IPPrefixLen”:16,“IPv6Gateway”:“”,“GlobalIPv6Address”:“”, GlobalIPv6PrefixLen“:0,”MacAddress“:”02:42:ac:11:00:02“}}}}

我不确定我要提交什么其他信息来debugging这种情况。 有没有可以做到提高性能?

为了加快速度,你也可以使用http://docker-sync.io – 它已经专门为OSX下的这种情况构build。

在VirtualBox中安装home(mac)文件夹对于数据传输来说是非常慢的。 尝试使用Docker for Mac,或将您的内容复制到指定的卷。 例如:

 docker create volume --name myvol docker run --rm --name data-container -v myvol:/data alpine top docker cp dir/with/files data-container:/data docker rm -f data-container 

这给你一个卷myvol你可以在任何容器上安装。 卷数据保存在VirtualBox主机中。