最近总是迁移docker,在不同的vps换来换去,也再一次敲打自己,还是有很多的VPS商家不靠谱的。
这次把docker从某不靠谱VPS上迁移到自己的便宜百度云上,发生了由于配置低而导致docker跑不起来的情况。
现像为 docker start es 之后 再docker ps -a 一看,已经停止了。
通过docker logs es 看到

OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)

原因 docker elasticsearch配置了1g内存,而我的云主机本来也才1g内存, 修改下

find /var/lib/docker/overlay/ -name jvm.options
vim /var/lib/docker/overlay2/b45fda130a1d159d46fc6f2414423bac4b68f3e4787ec629cf3256dee3166dc5/diff/usr/share/elasticsearch/config/jvm.options

-Xms1g
-Xmx1g
修改成
-Xms512m
-Xmx512m

再启动就好了
docker start es