Docker регистрирует сетевой трафик во время сборки - PullRequest
0 голосов
/ 16 февраля 2019

В докере, как мне регистрировать весь сетевой трафик, происходящий во время сборки.

Я предполагаю, что я изменю свой dockerfile для мониторинга и сбора всех сетевых запросов.Например, из apt-get install и установки пакетов узла или rubygem

Я согласен с изменением файла Docker для сбора журнала или его вывода другим способом.

Есть предложения, как мне это сделать?

1 Ответ

0 голосов
/ 16 февраля 2019

Весь сетевой трафик = трафик на все интерфейсы (loopback включены) и все протоколы (не только http/https, где вы можете использовать ведение журнала через прокси-сервер).Запустите tcpdump в фоновом режиме в начале каждой команды RUN для всех интерфейсов (eth0, lo).Пример, который будет печатать все пакеты в stdout:

FROM alpine

RUN apk add tcpdump

# start tcpdumps in the background for each RUN
RUN sh -c 'tcpdump -nnXSs 0 -i eth0 &' \
    && sh -c 'tcpdump -nnXSs 0 -i lo &' \
    && ping -c 5 google.com

RUN sh -c 'tcpdump -nnXSs 0 -i eth0 &' \
    && sh -c 'tcpdump -nnXSs 0 -i lo &' \
    && apk add curl

Выход сборки:

...
Step 3/4 : RUN sh -c 'tcpdump -nnXSs 0 -i eth0 &'     && sh -c 'tcpdump -nnXSs 0 -i lo &'     && ping -c 5 google.com
 ---> Running in 63249712af4a
PING google.com (216.58.204.78): 56 data bytes
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
64 bytes from 216.58.204.78: seq=0 ttl=127 time=17.529 ms
13:01:09.987047 IP 8.8.4.4.53 > 172.17.0.2.43264: 41194 1/0/0 A 216.58.204.46 (44)
        0x0000:  4500 0048 7096 0000 7f11 12f0 0808 0404  E..Hp...........
        0x0010:  ac11 0002 0035 a900 0034 0472 a0ea 8180  .....5...4.r....
        0x0020:  0001 0001 0000 0000 0667 6f6f 676c 6503  .........google.
        0x0030:  636f 6d00 0001 0001 c00c 0001 0001 0000  com.............
        0x0040:  001e 0004 d83a cc2e 
...

Конечно, вы можете отправить эти журналы в Elasticsearch / Splunk / ...,но вам нужно будет установить больше инструментов.И, вероятно, будет хорошей идеей исключить этот трафик из tcpdump.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...