天天看點

docker 啟動mysql 閃退 無法啟動問題

docker 安裝mysql

【擷取容器】

docker pull mysql:5.6      

【啟動容器】

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6      

【進入容器】

docker exec -it mymysql bash      

docker 啟動mysql 後 閃退,

【可能原因】:

虛拟記憶體不夠,無法啟動mysql

【檢查方法】

1) 檢視mysql 日志,報錯資訊包含 mmap() failed;errno 12

2) 查詢伺服器 虛拟記憶體 free

total        used        free      shared  buff/cache   available
Mem:       65739420    28250540     8885936      480492    28602944    36320100
Swap:      0      0    0      

發現 swap 都是0,确認 虛拟記憶體未啟用

【解決方法】

啟動swap

dd if=/dev/zero of=/swapfile bs=1M count=1024

mkswap /swapfile

swapon /swapfile      
docker start mymysql