ubuntu修改docker數(shù)據(jù)目錄

docker默認(rèn)安裝路徑是在/var/lib/docker, 如果不修改默認(rèn)位置,很容易導(dǎo)致系統(tǒng)盤爆滿,所以需要修改docker默認(rèn)路徑,以及image的下載路徑

  • 查看docker信息: docker info
root@VM-16-14-ubuntu ~# docker info
Client:
 Debug Mode: false

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 1
 Server Version: 19.03.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk s              yslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
 runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
 init version: fec3683
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-54-generic
 Operating System: Ubuntu 18.04.1 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 15.51GiB
 Name: VM-16-14-ubuntu
 ID: D7N4:VCZP:Y67T:JAYB:M7EH:FS42:WH5B:FKFV:CSTN:MY3K:GCC5:HG5O
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No swap limit support
  • 查看系統(tǒng)磁盤空間df -h
root@VM-16-14-ubuntu ~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G  4.0K  7.8G   1% /dev
tmpfs           1.6G  7.8M  1.6G   1% /run
/dev/vda1        99G  6.3G   89G   7% /
tmpfs           7.8G   24K  7.8G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/vdb1        98G  828M   93G   1% /data
tmpfs           1.6G     0  1.6G   0% /run/user/114
tmpfs           1.6G     0  1.6G   0% /run/user/0

從中可知掛載的數(shù)據(jù)盤在/data目錄下,所以我們需要把docker相關(guān)的路徑都放到該目錄下

  • 修改docker.service配置文件(未起作用,姿勢不對?)
    可用winscp或vim 打開/etc/systemd/system/multi-user.target.wants/docker.service
    在ExecStart的下一行增加一行--graph=/data/docker指向要自定義的目錄
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
--graph=/data/docker
#重新加載服務(wù)配置文件
systemctl daemon-reload
#重啟docker 服務(wù)
service docker start
#查看數(shù)據(jù)目錄
docker info | grep Dir
  • 修改docker啟動配置文件(未起作用,姿勢還不對?)
    可以設(shè)置大部分的后臺進程參數(shù),我們只需要修改配置文件指定啟動參數(shù)即可
    目錄/etc/default/docker
#關(guān)閉docker 服務(wù)
service docker stop

#移動數(shù)據(jù)到新的目錄
mv /var/lib/docker /data/docker

# 在配置文件最后一行追加下面配置即可
DOCKER_OPTS="-g /data/docker"

#重啟docker 服務(wù)
service docker start

#查看數(shù)據(jù)目錄
docker info | grep Dir

完全參數(shù)示例:

{
    "authorization-plugins": [],
    "data-root": "",
    "dns": [],
    "dns-opts": [],
    "dns-search": [],
    "exec-opts": [],
    "exec-root": "",
    "experimental": false,
    "features": {},
    "storage-driver": "",
    "storage-opts": [],
    "labels": [],
    "live-restore": true,
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "10m",
        "max-file":"5",
        "labels": "somelabel",
        "env": "os,customer"
    },
    "mtu": 0,
    "pidfile": "",
    "cluster-store": "",
    "cluster-store-opts": {},
    "cluster-advertise": "",
    "max-concurrent-downloads": 3,
    "max-concurrent-uploads": 5,
    "default-shm-size": "64M",
    "shutdown-timeout": 15,
    "debug": true,
    "hosts": [],
    "log-level": "",
    "tls": true,
    "tlsverify": true,
    "tlscacert": "",
    "tlscert": "",
    "tlskey": "",
    "swarm-default-advertise-addr": "",
    "api-cors-header": "",
    "selinux-enabled": false,
    "userns-remap": "",
    "group": "",
    "cgroup-parent": "",
    "default-ulimits": {
        "nofile": {
            "Name": "nofile",
            "Hard": 64000,
            "Soft": 64000
        }
    },
    "init": false,
    "init-path": "/usr/libexec/docker-init",
    "ipv6": false,
    "iptables": false,
    "ip-forward": false,
    "ip-masq": false,
    "userland-proxy": false,
    "userland-proxy-path": "/usr/libexec/docker-proxy",
    "ip": "0.0.0.0",
    "bridge": "",
    "bip": "",
    "fixed-cidr": "",
    "fixed-cidr-v6": "",
    "default-gateway": "",
    "default-gateway-v6": "",
    "icc": false,
    "raw-logs": false,
    "allow-nondistributable-artifacts": [],
    "registry-mirrors": [],
    "seccomp-profile": "",
    "insecure-registries": [],
    "no-new-privileges": false,
    "default-runtime": "runc",
    "oom-score-adjust": -500,
    "node-generic-resources": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"],
    "runtimes": {
        "cc-runtime": {
            "path": "/usr/bin/cc-runtime"
        },
        "custom": {
            "path": "/usr/local/bin/my-runc-replacement",
            "runtimeArgs": [
                "--debug"
            ]
        }
    },
    "default-address-pools":[
        {"base":"172.80.0.0/16","size":24},
        {"base":"172.90.0.0/16","size":24}
    ]
}

我們要修改的是data-root
如果在/etc/docker目錄下沒有daemon.json文件,需要先新建一個
在里面填寫:

{
    "data-root":"/data/docker"
}
#重啟docker服務(wù)
service docker restart
#查看數(shù)據(jù)目錄
docker info | grep Dir
Docker Root Dir: /data/docker
  • 驗證
    拉取hello-world鏡像
docker pull hello-world

/data/docker/image/overlay2目錄下的repositories.json文件中查看有類似如下內(nèi)容,則說明,鏡像已經(jīng)存放到了自定義的位置

{"Repositories":{"hello-world":{"hello-world:latest":"sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e","hello-world@sha256:d1668a9a1f5b42ed3f46b70b9cb7c88fd8bdc8a2d73509bb0041cf436018fbf5":"sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e"}}}

成功!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子悦析,更是在濱河造成了極大的恐慌脓恕,老刑警劉巖躺涝,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葵腹,死亡現(xiàn)場離奇詭異垮庐,居然都是意外死亡爆袍,警方通過查閱死者的電腦和手機首繁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來陨囊,“玉大人弦疮,你說我怎么就攤上這事≈┐祝” “怎么了胁塞?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我啸罢,道長编检,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任伺糠,我火速辦了婚禮蒙谓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘训桶。我一直安慰自己累驮,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布舵揭。 她就那樣靜靜地躺著谤专,像睡著了一般。 火紅的嫁衣襯著肌膚如雪午绳。 梳的紋絲不亂的頭發(fā)上置侍,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音拦焚,去河邊找鬼蜡坊。 笑死,一個胖子當(dāng)著我的面吹牛赎败,可吹牛的內(nèi)容都是我干的秕衙。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼僵刮,長吁一口氣:“原來是場噩夢啊……” “哼据忘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起搞糕,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤勇吊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后窍仰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汉规,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年驹吮,在試婚紗的時候發(fā)現(xiàn)自己被綠了鲫忍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡钥屈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坝辫,到底是詐尸還是另有隱情篷就,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布近忙,位于F島的核電站竭业,受9級特大地震影響智润,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜未辆,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一窟绷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咐柜,春花似錦兼蜈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至遗契,卻和暖如春辐棒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背牍蜂。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工漾根, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鲫竞。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓辐怕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贡茅。 傳聞我的和親對象是個殘疾皇子秘蛇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348