有时候会针对某一个docker容器抓包,排查网络问题。就需要知道宿主机上的哪个虚拟网卡对应容器,可以通过以下方式查看。

示例:

test-container 容器抓包,具体操作

1.进入容器查看iflink

swift@xxx-001:~$ docker exec -it test-container bash
[root@384a71d00b2b sonatype]# cat /sys/class/net/eth0/iflink
9

2.宿主机查看对应虚拟网卡

swift@xxx-001:~$ ip link |grep 9
    link/ether 02:42:89:df:3d:4e brd ff:ff:ff:ff:ff:ff
    link/ether 8a:7d:fa:d0:96:39 brd ff:ff:ff:ff:ff:ff link-netnsid 3
9: vethadfe873@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether da:90:0e:5d:04:af brd ff:ff:ff:ff:ff:ff link-netnsid 2
    link/ether f6:b8:43:09:0b:7d brd ff:ff:ff:ff:ff:ff link-netnsid 0
    link/ether ce:8c:08:d1:86:9e brd ff:ff:ff:ff:ff:ff
    link/ether 32:ce:9e:82:e2:0d brd ff:ff:ff:ff:ff:ff
    link/ether b2:2c:9b:3b:25:de brd ff:ff:ff:ff:ff:ff link-netnsid 4

可以看到宿主机上的 vethadfe873 该虚拟网卡对应 test-container 容器

3.接下来就可以根据该虚拟网卡进行抓包操作

swift@xxx-001:~$ sudo tcpdump -i vethadfe873 -n

SiteStatFooter

页脚展示统计信息,建站时间可以在插件管理中配置

使用方法

  1. 在 Typecho 根目录下的 usr/plugins 目录中,创建新目录 SiteStatFooter
  2. 将下面的这段代码保存为 Plugin.php
  3. 登录 Typecho 管理后台;
  4. 进入 控制台 → 插件 页面;
  5. 启用 SiteStatFooter 插件;
  6. 打开博客任意页面,在页面最底部应该能看到:
📝 文章:21 💬 评论:3 🏷️ 标签:21 📁 分类:6 ⏳ 运行:65 天

Plugin.php 内容为:

- 阅读剩余部分 -

gitlab相关信息

gitlab服务器地址: 192.168.1.100

gitlab版本: 10.1.0-ee

安装方式: Omnibus GitLab

主要备份文件

  • 配置文件: /etc/gitlab/gitlab.rb
  • 认证文件(很重要):/etc/gitlab/gitlab-secrets.json
  • 打包好的备份数据文件位于:/var/opt/gitlab/backups/, 文件名:(如:1611370331_2021_01_23_10.1.0-ee_gitlab_backup.tar)

- 阅读剩余部分 -

通过promtail直接获取docker容器日志

方案

promtail版本需要在 promtail:2.8.3 以上

因为 promtail:2.6.1 存在问题,无法通过配置 docker_sd_config 收集日志,存在以下报错

level=warn ts=2024-10-28T06:26:18.581600589Z caller=target.go:120 target=docker/5be06c2b393cbad92902f0c978f25221a662f68cea170522a8753b27936d36b6 msg="could not transfer logs" written=0 container=5be06c2b393cbad92902f0c978f25221a662f68cea170522a8753b27936d36b6 err="Unrecognized input header: 50"
level=warn ts=2024-10-28T06:26:18.581736775Z caller=target.go:120 target=docker/9751a71b12db7c5c6677c89a7035a71184e6f7c7a9a55a391c1ece92d47a275f msg="could not transfer logs" written=0 container=9751a71b12db7c5c6677c89a7035a71184e6f7c7a9a55a391c1ece92d47a275f err="Unrecognized input header: 50"
level=warn ts=2024-10-28T06:26:18.582212205Z caller=target.go:120 target=docker/682d6b5bef49dc5ca753185e5a69f715d1ffc6da5431701749ceb2e7f9549c1b msg="could not transfer logs" written=0 container=682d6b5bef49dc5ca753185e5a69f715d1ffc6da5431701749ceb2e7f9549c1b err="Unrecognized input header: 50"

- 阅读剩余部分 -