Добавьте образ докера tcpdump с базовым узлом образа: 10.0.0 - PullRequest
0 голосов
/ 26 марта 2019

Как добавить пакет tcpdump в Dockerfile, если базовый образ node:10.0.0

Dockerfile:

FROM node:10.0.0
EXPOSE $SERVICE_PORT
USER node
RUN mkdir -p /home/node/
WORKDIR /home/node/
COPY package.json /home/node/
RUN npm install
COPY . /home/node/
CMD ["npm", "run", "staging"]

Я хочу отслеживать трафик в этом контейнере.

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

Нет необходимости изменять ваше изображение для доступа к сети контейнера. Вы можете запустить второй контейнер в том же сетевом пространстве имен:

docker run -it --net container:${container_to_debug}  nicolaka/netshoot 

Оттуда вы можете запустить tcpdump и множество других сетевых средств отладки и увидеть трафик, идущий в ваш другой контейнер. Чтобы увидеть все инструменты, включенные в netshoot, смотрите репозиторий github: https://github.com/nicolaka/netshoot

0 голосов
/ 26 марта 2019

ваш базовый образ основан на debian, поэтому используйте apt-get в качестве менеджера пакетов. добавьте в ваш файл Docker следующие инструкции:

USER root 
RUN apt-get update -y; exit 0
RUN apt-get install tcpdump -y

Объяснение:

USER root - apt-get требует прав root.

RUN apt-get update -y; выход 0 - я добавляю exit 0, чтобы сообщить докеру, что я хочу сохранить сборку, даже если apt-get не смог получить все своих зеркальных файлов

RUN apt-get install tcpdump -y - установка пакета.

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