更换docker的存储目录

本文详细介绍了如何使用Docker命令查看容器日志,指定时间段过滤,处理容器内时间错误,以及如何更换Docker的存储目录,包括数据卷迁移和配置mapper文件。

容器命令

docker exec -it nacos2 /bin/bash
docker logs -f nacos

日志:

语法:

docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

查看最近30分钟最后一百行的日志:
docker logs --since 30m --tail 200 4a20226c201d(容器ID)

假设您要查询容器名为 my-container 的日志,在2023年6月1日上午10点到11点期间出现的所有包含“流程异常”的行,可以使用以下命令:

docker logs --since "2023-12-14T20:20:00" --until "2023-12-14T20:40:00" ecidi_kinggrid-signature_1 | grep "ERROR"
空间查询:

docker system df
df -h

Docker容器内时间不正确调整

1、复制主机localtime到容器

docker cp /etc/localtime  容器id:/etc/localtime

如果报错
Error response from daemon: Error processing tar file(exit status 1): invalid symlink “/etc/localtime” -> “…/usr/share/zoneinfo/Asia/Shanghai”
2、重新执行

docker cp /usr/share/zoneinfo/Asia/Shanghai 容器id:/etc/localtime

怎么更换docker的存储目录

1、查看Docker 磁盘使用情况

docker system df

2、清理磁盘

docker system prune

删除关闭的容器无用的数据卷和网络无TAG的镜像-a 参数 无用的镜像也会删除 (慎用)

3、停止Docker 服务

systemctl stop docker

4、迁移数据目录

rsync -avz /var/lib/docker /data/docker/lib/

/var/lib/docker : docker默认数据目录/var/lib/docker : 目标目录, 执行前需要先创建

5、配置mapper文件

根据docker服务的安装配置文件进行修改

vim /usr/lib/systemd/system/docker.service

在ExectStart=xxx 中添加属性

ExectStart=xxx --graph /data/docker/lib/docker

重新更新一下docker服务

systemctl disable docker

systemctl enable docker

systemctl daemon-reload

systemctl start docker

6、检查

docker info

可以看到以下信息表示成功

Docker Root Dir: /data/docker/lib/docker

执行docker images可以看到之前所有的镜像也全部同步了过来。

同步后某些服务启动报错(base-data、design-manage-service、socket)

### 更改 Docker 默认存储位置的配置方法 Docker 默认将所有容器、镜像和卷的数据存储在 `/var/lib/docker` 目录下。当系统磁盘空间不足时,可以更改 Docker 的默认存储位置以优化存储管理[^1]。以下是实现这一目标的具体方法: #### 1. 停止 Docker 服务 在更改存储位置之前,必须先停止 Docker 服务以确保数据一致性。可以通过以下命令停止服务: ```bash sudo systemctl stop docker ``` 或者使用以下命令: ```bash sudo service docker stop ``` #### 2. 创建新的存储目录 选择一个新的存储位置,并创建相应的目录。例如,假设新存储位置为 `/data/docker`,可以执行以下命令创建目录: ```bash sudo mkdir -p /data/docker ``` 同时,确保该目录具有适当的权限,以便 Docker 可以访问它: ```bash sudo chown -R root:root /data/docker ``` #### 3. 修改 Docker 配置文件 Docker 的配置文件通常位于 `/etc/docker/daemon.json`。如果该文件不存在,则需要手动创建。编辑或创建该文件并添加以下内容: ```json { "data-root": "/data/docker" } ``` 此设置指定了 Docker 的新存储路径[^3]。 #### 4. 启动 Docker 服务 完成配置后,重新启动 Docker 服务以应用更改: ```bash sudo systemctl start docker ``` 或者使用以下命令: ```bash sudo service docker start ``` #### 5. 验证更改 验证 Docker 是否已成功切换到新的存储位置,可以运行以下命令检查当前存储路径: ```bash docker info | grep "Docker Root Dir" ``` 输出结果应显示为新设置的路径,例如 `/data/docker`。 #### 注意事项 - 如果 Docker 版本低于 1.12,则无法直接通过 `daemon.json` 文件修改存储路径,需通过命令行选项或 systemd 配置文件进行调整[^5]。 - 在更改存储位置之前,请确保新路径所在的磁盘有足够的可用空间。 - 如果需要迁移现有数据,可以将 `/var/lib/docker` 中的内容复制到新路径下[^1]。 ```bash sudo rsync -aqxP /var/lib/docker/ /data/docker/ ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值