最近在debian8上裝了個docker,但是因為儲存空間的問題,需要把docker的存放路徑改一下。按照官方文件的說法,只要修改/etc/default/docker裡的docker_opts,加上-g引數即可:
docker_opts="-g /path/to/dockerdata"
但是這樣改過以後重啟docker,發現docker仍然在使用預設的/var/lib/docker,用ps看了一下,-g引數並沒有被傳遞給dockerd。
去看了/etc/init.d/docker,也沒看出什麼不對來,只是覺得ps裡看到的命令與這裡不太一樣。
百思不得其解。
放狗一搜才知道,原來是systemd搞的鬼。
這也不是新東西了,很多前衛的發行版早就已經用它把init替換掉了,然而我是不太喜歡,倒不是因為傳說中它的太複雜或是二進位制日誌之類的,而是單純因為懶,畢竟init比較熟簡單也熟悉一些。
現在終於debian也用上了,只是我還沒有注意到,直到這次碰到問題。
docker當然也不是不支援systemd,只是它的支援是有bug的。那就是它的systemd配置檔案裡忘記去讀取並使用/etc/default/docker裡的自定義配置了……
所以,參照這個issue可以得到解決:
在 /etc/systemd/system/multi-user.target.wants 目錄(不同的發行版可能不一樣,這個是debian8的)中找到 docker.service ,在其中找到:
execstart=/usr/bin/dockerd -h fd://
這句,修改為:
execstart=/usr/bin/dockerd -h fd:// $docker_opts
environmentfile=-/etc/default/docker
然後重啟:
systemctl daemon-reload
service docker restart
現在 docker_opts 就成功生效了。 在linux下安裝docker
周周的日記 docker 要求執行在centos 7上 要求系統為64位 系統核心版本3.10以上 docker 要求 centos 系統的核心版本高於 3.10 檢視本頁面的前提條件來驗證你的centos 版本是否支援 docker 通過 uname r 命令檢視你當前的核心版本 root run...
001systemd在各個linux發行版的普及
後面我要說下自己的意見 原則如果阻礙了進步,那還算個屁,不客氣地說,unix 原則已經過時了。launchd,systemd 借 chao 鑑 xi 的就是 launchd 對於systemd接管其他設施,一般認為這樣也有利於 linux 系統標準化,在 systemd 之前,init 程式的實現就...
在Docker下使用Nvidia GPU進行計算
系統 centos 7,nvidia titan x 最近在使用gpu計算,同時也在使用docker做虛擬化環境。那麼問題來了,在虛擬機器下如何使用gpu呢?在網上找到了很多答案,例如使用lxc等。實際上將gpu對映到docker下很容易,只需要在啟動映象的時候將裝置掛載上去即可。檢視顯示卡裝置名 ...