Docker 修改日志默认存储路径

 

默认安装完成 docker 后,所有 images 及相关信息存储位置为:/var/lib/docker,比如每个容器的日志默认都会以 json-file 的格式存储于 /var/lib/docker/containers/<容器id>/<容器id>-json.log 里面。

 

一般情况,/var 目录是在根分区之下,而根分区之下的磁盘空间一般不会较大,所以在生产环境中,经常会因为这个原因导致磁盘空间不足,然后服务或者消息中间件之类的崩掉。

 

修改 /var/lib/docker 的存储路径:

 

1、在 /data 目录下创建 docker 目录

/data 为新添加的磁盘分区的挂载点

~]# mkdir /data/docker

2、修改 docker.service 文件

~]# vim /usr/lib/systemd/system/docker.service
# 在里面的EXECStart的后面增加 --graph 选项指定新目录

ExecStart=/usr/bin/dockerd --graph /data/docker

3、重启 docker 服务

~]# systemctl daemon-reload
~]# systemctl disable docker
~]# systemctl enable docker
~]# systemctl start docker

4、查看 docker info 信息

~]# docker info
...
Docker Root Dir: /data/docker
...

 

<think>好的,我需要帮助用户在Ubuntu系统上修改Docker默认存储路径。首先,我应该回忆一下Docker在Ubuntu上的配置方式。记得Docker的服务配置文件通常是/etc/docker/daemon.json,这个文件可能需要修改或创建。 用户提到参考的引用是关于修改存储路径后重启Docker服务的步骤,所以基本流程可能包括编辑配置文件、重启服务。但具体步骤可能需要更详细,比如停止Docker服务、移动现有数据、修改配置、重启等。 首先,用户需要确定当前Docker的数据目录,默认是/var/lib/docker。要修改这个路径,应该在daemon.json中设置"data-root"选项。但在此之前,可能需要停止Docker服务,否则无法移动现有数据。步骤大概是: 1. 停止Docker服务:sudo systemctl stop docker 2. 确认服务已停止:systemctl status docker 3. 移动现有数据到新位置,例如/mnt/docker_data:sudo mv /var/lib/docker /mnt/docker_data 4. 创建daemon.json文件,如果不存在的话:sudo nano /etc/docker/daemon.json 5. 添加内容:{"data-root": "/mnt/docker_data"} 6. 保存并退出,重启Docker:sudo systemctl start docker 7. 检查是否生效:docker info | grep "Docker Root Dir" 需要注意权限问题,新路径的权限是否正确。如果用户遇到权限错误,可能需要修改目录的权限,比如sudo chmod -R 777 /mnt/docker_data,但更安全的做法是保持适当的权限设置。 另外,如果用户之前没有daemon.json文件,创建它并添加配置即可。如果有其他配置,需要确保JSON格式正确,避免语法错误导致Docker无法启动。 可能出现的问题包括:路径不存在,权限不足,配置文件格式错误。需要提示用户检查这些方面。例如,使用sudo docker info查看是否配置生效,如果服务启动失败,查看日志journalctl -u docker.service。 总结步骤,确保每个步骤清晰,并提醒用户注意事项,如备份数据、检查路径是否正确等。</think>以下是在 Ubuntu 系统中修改 Docker 默认数据存储路径的分步指南: ### 步骤 1:停止 Docker 服务 ```bash sudo systemctl stop docker sudo systemctl stop containerd # 如果存在容器运行时服务 ``` ### 步骤 2:迁移现有数据 ```bash sudo mv /var/lib/docker /新存储路径 # 例如:/mnt/docker_data ``` ### 步骤 3:创建配置文件 ```bash sudo nano /etc/docker/daemon.json ``` 添加以下内容(JSON 格式需严格遵循): ```json { "data-root": "/新存储路径" } ``` ### 步骤 4:设置权限(重要) ```bash sudo chmod -R 755 /新存储路径 # 根据实际需求调整权限 sudo chown -R root:root /新存储路径 ``` ### 步骤 5:重启服务并验证 ```bash sudo systemctl start docker docker info | grep "Docker Root Dir" # 应显示新路径 ``` ### 注意事项 1. 建议保留旧数据备份直至确认迁移成功 2. 若使用 `overlay2` 存储驱动,需确保文件系统支持(如 ext4/XFS) 3. 通过 `df -h` 确认新存储分区有足够空间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值