平時我們百度來的docker run xxx 用于生產環境的話是不適合的。
因為我們需要更多的條件去限制一個容器的資源使用,否則出問題是血的教訓。
我這里拿一個java jar包的容器作為例子.
```
docker run -itd -p 40001:40001 -v /etc/localtime:/etc/localtime --privileged=true --restart=always --log-opt max-size=10m --log-opt max-file=1 --restart=on-failure:1 --oom-score-adj -1000 --name test jdk:1.8
```
參數解讀
privileged,特權模式
restart=always,隨著docker啟動
log-opt,最大日志10m 最多一個日志文件
restart=on-failure:1,當容器退出代碼不為0時,最多重啟1次
-m,限制內存如 -m 512M 例子中沒用到 但可以你主動去限制容器的內存
--oom-score-adj,容器被 OOM killer 殺死的優先級,范圍是[-1000, 1000],默認為 0。因為容器默認是無限制的 所以內存滿的時候 系統就會去清理 從而容器就會掛掉,設置后 容器是不會被系統給干掉的。