Skip to content

Commit bce2455

Browse files
author
Christian Kniep
committedJan 2, 2017
container version of kernelscope
1 parent eee1fc8 commit bce2455

7 files changed

+45
-7
lines changed
 

‎.dockerignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
Dockerfile
2+
docker-compose.yml

‎Dockerfile

+17-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
1-
FROM qnib/alpn-base
1+
FROM qnib/u-supervisor
22

3-
ADD . /opt/kernelscope/
4-
RUN apk add --no-cache sqlite python3
5-
RUN cat /opt/kernelscope/kernelscope-sqlite.sql | sqlite3 /var/lib/kernelscope.db
6-
RUN apk --no-cache add py-pip mysql-dev gcc python-dev linux-headers musl-dev \
3+
RUN apt-get update
4+
RUN apt-get install -y sqlite python3 python-pip gcc
5+
RUN apt-get install -y apt-transport-https
6+
RUN apt-get install -y libmysqlclient-dev \
77
&& pip install mysql
88

9-
CMD ["python", "/opt/kernelscope/src/KernelscopeLoggerService.py", "--sqlite", "kernelscope.db", "8081"]
9+
ADD . /opt/kernelscope/
10+
RUN cat /opt/kernelscope/kernelscope-sqlite.sql | sqlite3 /var/lib/kernelscope.db
11+
ADD etc/supervisord.d/kernelscope-visualiser.ini \
12+
etc/supervisord.d/kernelscope.ini \
13+
etc/supervisord.d/kernelscope-offcputime.ini \
14+
/etc/supervisord.d/
15+
RUN echo "deb [trusted=yes] http://repo.iovisor.org/apt/xenial xenial-nightly main" > /etc/apt/sources.list.d/iovisor.list \
16+
&& apt-get update -y \
17+
&& apt-get install -y libelf1 \
18+
&& apt-get install -y bcc-tools libbcc-examples
19+
ADD entrypoint.sh /usr/bin/
20+
CMD ["/usr/bin/entrypoint.sh", "/opt/qnib/supervisor/bin/start.sh", "-n"]
1021

‎docker-compose.yml

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ services:
44
image: qnib/kernelscope
55
hostname: kernelscope
66
container_name: kernelscope
7+
volumes:
8+
- /lib/modules:/lib/modules:ro
9+
- /usr/src:/usr/src:ro
10+
- /etc/localtime:/etc/localtime:ro
711
ports:
8-
- 8081:8081
12+
- 8080:8080
913
privileged: true

‎entrypoint.sh

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
set -e
3+
mount -t debugfs none /sys/kernel/debug/
4+
exec "$@"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[program:kernelscope-offcputime]
2+
command=python offcputime.py --logger 'http://localhost:8081' --threshold 5000
3+
directory=/opt/kernelscope/src/
4+
redirect_stderr=true
5+
autostart=true
6+
stdout_logfile=/var/log/supervisor/%(program_name)s.log
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[program:kernelscope-visualiser]
2+
command=python KernelscopeService.py --sqlite /var/lib/kernelscope.db 8080
3+
directory=/opt/kernelscope/src/
4+
redirect_stderr=true
5+
autostart=true
6+
stdout_logfile=/var/log/supervisor/%(program_name)s.log

‎etc/supervisord.d/kernelscope.ini

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[program:kernelscope]
2+
command=python KernelscopeLoggerService.py --sqlite /var/lib/kernelscope.db 8081
3+
directory=/opt/kernelscope/src/
4+
redirect_stderr=true
5+
autostart=true
6+
stdout_logfile=/var/log/supervisor/%(program_name)s.log

0 commit comments

Comments
 (0)
Please sign in to comment.