docker在systemd下的配置問題

2021-07-25 14:28:47 字數 1045 閱讀 8073

最近在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下很容易,只需要在啟動映象的時候將裝置掛載上去即可。檢視顯示卡裝置名 ...