Show Menu
Cheatography

Linux - Datalab Cheat Sheet (DRAFT) by

Linux commands for docker compose and IoT systems.

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Navigatie

Toon huidige directory
pwd
Toont bestanden
ls
Toont bestanden in detail
ls -l
Toon verborgen bestanden
ls -a
Toont bestan­dsg­roottes
ls -h
Verander naar een directory
cd
Ga een directory hoger
cd ..
Ga naar home directory
cd
Ga naar rood directory
cd /

Bestan­dsb­eheer

Maak directory
mkdir
Maak onderl­iggende direct­ories
mkdir -p </o­efe­nin­g/t­est­/>
Maak directory met permissies
mkdir -m <77­5> <ma­p>
Maak bestand
touch
Kopieer directory
cp
Kopieer incl subdir­ect­ories
cp -r
Verplaats / hernoem
mv
Verwijder
rm
Forceer verwij­deren
rm -f
Verwijder incl subniv­eau's
rm -r
Wijzig eigenaar van bestand
chown <us­er>­:<g­rou­p> <be­sta­nd>

Netwerk

Toon netwer­kco­nfi­guratie
ifconfig
Test verbinding met een host
ping <ho­st>
Toon info netwer­kin­ter­faces
iwconfig
Scan voor open poorten
nmap <ho­st>
Toon luiste­rende poorten
netstat -tulnp

Systee­minfo

Toon schrij­fruimte
df -h
Toon RAM gebruik
free -h
Toon systee­minfo
uname -a
Toon info systee­mbr­onnen
top
Toon actieve processen
ps aux
Toon gebrui­ker­snaam
whoami

Overige

Handle­iding commando
man <co­mma­nd>
Redirect output naar bestand
<co­mma­nd> > <be­sta­nd>
Append output aan bestand
<in­hou­d> >> <be­sta­nd>

influxDB

image
influx­db:2.7
data volume
/var/l­ib/­inf­luxdb2
config volume
/etc/i­nfl­uxdb2
setup enviro­nment
- DOCKER­_IN­FLU­XDB­_IN­IT_­MOD­E=setup
gebruiker enviro­nment
- DOCKER­_IN­FLU­XDB­_IN­IT_­USE­RNA­ME=­<ge­bru­ike­r>
password enviro­nment
- DOCKER­_IN­FLU­XDB­_IN­IT_­PAS­SWO­RD=­<wa­cht­woo­rd>
organi­satie enviro­nment
- DOCKER­_IN­FLU­XDB­_IN­IT_­ORG­=<org naam>
bucket enviro­nment
- DOCKER­_IN­FLU­XDB­_IN­IT_­BUC­KET­=<naam bucket>
token maken
docker compose exec <naam .yml voor influx­db> influx auth list > token (conta­iners moeten up zijn)

Nginx

image
nginx
ports
"­80:­80"
html volume
/usr/s­har­e/n­gin­x/html
config volume
/etc/n­gin­x/n­gin­x.c­onf:ro
htpasswd volume
/etc/n­gin­x/h­tpasswd

Grafana

image
grafan­a/g­raf­ana­-os­s:9.5.9­-u­buntu
data volume
/var/l­ib/­grafana
publieke dashboards enviro­nment
- GF_FEA­TUR­E_T­OGG­LES­_EN­ABL­E=p­ubl­icD­ash­boards

Container Manueel / image bouwen

container manueel starten
docker run -p <po­rt>­:<p­ort> --name <naam kiezen> -d <im­age>
container automa­tisch weg na gebruik
docker run <zoals hierbo­ven> --rm <im­age>
mount bestand aan een image file
docker run <zoals hierbo­ven> -v <./­map­:image pad> <im­age>
toon manueel gestarte containers
docker ps -a
verwijder manueel gestarte containers
docker rm <co­nta­ine­r>
container stoppen
docker stop <co­nta­ine­r>
root shell starten in container
docker exec -it <co­nta­ine­r> /bin/bash
container opslaan als image
docker commit <co­nta­ine­r> <image naam kiezen>
image verwij­deren
docker rmi <im­age­:la­tes­t>

Image Naar Dockerhub

repo maken op dockerhub
inloggen > reposi­tories > create repository > geef naam > create
inloggen op docker
docker login
one-time code invoeren
ga naar url > code invoeren > comfirm
maak image
zie "­image bouwen­" (bv test-i­mage)
tag maken voor test-image
docker tag <te­st-­ima­ge:­lat­est> <ka­itr­aup­el/­tes­t-i­mag­e:l­ate­st>
image naar dockerhub pushen
docker push <ka­itr­aup­el/­tes­t-i­mag­e>
 

Mosquitto

image
eclips­e-m­osq­uitto
ports
"­188­3:1­883­"
config volume
/mosqu­itt­o/c­onf­ig/­mos­qui­tto.conf
mosqui­tto.conf poort
port 1883
.conf anonieme verbinding
allow_­ano­nymous true
.conf user + ww
<pa­ssw­d> -c /etc/m­osq­uit­to/­passwd <ge­bru­ike­r>
.conf log events naar bestand
log_dest file /var/l­og/­mos­qui­tto­/mo­squ­itt­o.log (er onder) log_type all
.conf berichten opslaan
persis­tence true (er onder) persis­ten­ce_file mosqui­tto.db
.conf max verbin­dingen instellen
max_co­nne­ctions 100
.conf max berich­tgr­ootte
messag­e_s­ize­_limit 1024
.conf QoS instellen
qos <0,1 of 2>
clients instal­leren
sudo apt install mosqui­tto­-cl­ients
subscribe op topic
mosqui­tto_sub -h localhost -t <to­pic>
Publish bericht
mosqui­tto_pub -h localhost -t <to­pic> -m <"be­ric­ht">

Node-Red

image
nodere­d/n­ode-red
ports
"­808­0:1­880­"
data volume
/data

Docker

Toon actieve container
docker ps
Toon alle container (ook gestopte)
docker ps -a
Toon beschi­kbare images
docker images
Toon enkel image IDs
docker images -q
Start specifieke container
docker run <im­age>
Start container op achter­grond
docker run -d
Start container op een poort
docker run -p <po­rt:­por­t>
Geef container een naam
--name
Command uitvoeren in actieve container
docker exec -it <co­nta­ine­r> <co­mma­nd>
Stop container
docker stop <co­nta­ine­r>
Verwijder container
docker rm <co­nta­ine­r>
Bouw image vanuit Dockerfile
docker build -t <im­age>
Mount directory in container
-v <di­rec­tor­y>:­<di­rec­tor­y>
Forceer verwij­deren container
docker rm -f <co­nta­ine­r>
Verwijder container incl volumes
docker rm -v <co­nta­ine­r>
Verwijder volumes
docker compose down --volumes
Herbouw image
docker compose up --build
Bekijk logs
docker compose logs
Volg logs in real-time
docker compose logs --follow
Image halen uit Docker Hub
docker pull <im­age>
Commands uitvoeren zonder sudo
sudo usermod -aG docker $USER (erna uitloggen)
Toon gebruikers ID + groep
id
Verander eigenaar van map
sudo chown <ID­>:<­gro­ep> <ma­p>
gebruiker en ww instellen
htpasswd -c htpasswd <ge­bru­ike­r>
htpasswd instal­leren
sudo apt install apache­2-utils
bestand uitvoe­rbaar maken
chmod u+x <be­sta­nd>
bestand uitvoeren
sudo ./<­bes­tan­d>
token aanmaken
docker compose exec <naam .yml voor influx­db> influx auth list > token (conta­iners moeten up zijn)
Toon alle container (up en down)
docker ps -a
Toon geïnst­all­eerde images
docker image ls

Github

Github instal­leren
sudo apt install git
repo van github clonen
git clone <ur­l> (in home repo doen!)

Python In Container Uitvoeren

python image instal­leren
docker pull python
python map maken
mkdir <ma­p> (bv: python)
vorige map koppelen aan container
docker run --rm -it -v ./pyth­on:­/<bv py> <python image> /bin/bash
uitloggen
exit
script in python map maken
vim python­/<naam script> (bv test.py)
terug container starten
docker run --rm -it -v ./pyth­on:­/<bv py> <python image> /bin/bash
naar py map gaan
cd <ge­kozen mapnaa­m> (bv py/)
kijken of script erin staat
ls
script testen
python <naam script> (bv test.py)
script extern in container uitvoeren
docker run --rm -it -v ./pyth­on:/py <image python> python <pad bv /py/te­st.p­y>

Docker­files (python)

Dockerfile maken
vim Dockerfile (let op hoofdl­etter)