Docker常用操作

常用命令

1
2
3
4
5
6
7
8
9
10
11
#查看docker容器日志
docker logs -f -t --tail 1000f 容器ID

#进入docker容器
docker exec -it 容器ID /bin/sh

#查看容器配置
docker inspect 容器ID

#挂在容器目录到宿主机
docker run -v 宿主机目录:容器目录 镜像名
1
2
# 显示容器使用的系统资源
docker stats

默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。下面是输出的主要内容:
[CONTAINER]:以短格式显示容器的 ID。
[CPU %]:CPU 的使用情况。
[MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
[MEM %]:以百分比的形式显示内存使用情况。
[NET I/O]:网络 I/O 数据。
[BLOCK I O]:磁盘 I/O 数据。
[PIDS]:PID 号。

目录迁移

1
2
3
4
5
6
7
8
9
#查看docker的基本信息
docker info
#停止docker服务
systemctl stop docker
#备份原目录
cp -r /var/lib/docker /data/docker
mv /var/lib/docker /var/lib/docker.bak
ln -s /data/docker /var/lib/docker
systemctl start docker

docker运行命令文档

日志清理

  • 问题描述:有一个GitLab的docker服务,运行几个月后就会出现无法 push 和 pull 的情况
  • 产生原因:由于dockerd的日志占用了10+G的空间,进而导致/var/lib/
  • 解决方案:
    日志文件的默认路径形如:/var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID-json.log
    1. 禁用docker日志 –log-driver=none
    2. 设置允许的最大大小 –log-opt max-size
    3. 配置日志文件产生规则
      /etc/docker/daemon.json
      1
      2
      3
      4
      5
      6
      7
      8
      9
      {
      "log-driver": "json-file",
      "log-opts": {
      "max-size": "10m",
      "max-file": "3",
      "labels": "production_status",
      "env": "os,customer"
      }
      }

配置参考:https://docs.docker.com/config/containers/logging/configure/

作者

qrua7

发布于

2025-04-13

更新于

2025-10-28

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×