@@ -55,12 +55,41 @@ func SetupElastic() (*elastic.Client, func(), error) {
5555 "xpack.security.http.ssl.enabled=false" ,
5656 "xpack.security.transport.ssl.enabled=false" ,
5757 "indices.lifecycle.poll_interval=5s" ,
58+ "path.data=/opt/elasticsearch/volatile/data" ,
59+ "path.logs=/opt/elasticsearch/volatile/logs" ,
5860 "ES_JAVA_OPTS=-Xms128m -Xmx128m -server" ,
5961 "ES_HEAP_SIZE=128m" ,
6062 },
6163 }, func (config * docker.HostConfig ) {
6264 config .AutoRemove = true
6365 config .RestartPolicy = docker.RestartPolicy {Name : "no" }
66+ // Tmpfs is much faster than the default docker mounts.
67+ config .Mounts = []docker.HostMount {
68+ {
69+ Target : "/opt/elasticsearch/volatile/data" ,
70+ Type : "tmpfs" ,
71+ TempfsOptions : & docker.TempfsOptions {
72+ SizeBytes : 100 * 1024 * 1024 ,
73+ Mode : 0777 ,
74+ },
75+ },
76+ {
77+ Target : "/opt/elasticsearch/volatile/logs" ,
78+ Type : "tmpfs" ,
79+ TempfsOptions : & docker.TempfsOptions {
80+ SizeBytes : 100 * 1024 * 1024 ,
81+ Mode : 0777 ,
82+ },
83+ },
84+ {
85+ Target : "/tmp" ,
86+ Type : "tmpfs" ,
87+ TempfsOptions : & docker.TempfsOptions {
88+ SizeBytes : 100 * 1024 * 1024 ,
89+ Mode : 0777 ,
90+ },
91+ },
92+ }
6493 config .CPUCount = 1
6594 config .Memory = 1024 * 1024 * 1024
6695 config .MemorySwap = 0
0 commit comments