Docker Snippets

Posted on June 2, 2022
Tags: devops

1 root directory golang: alpine linux

1.1 /usr directory

  • WORKDIR /usr/src/app is typical docker config
  • /usr/local/bin is typically where we output our built binary

1.2 /etc directory

2 run container as volume

2.1 -v flag

Create a docker volume(use docker volume ls to find it)

docker volume create tickerseries
mkdir timeseriesDB
docker run -d -v tickerseries:/home/kali/timeseriesDB --name some-timescaledb -p 5432:5432 timescale/timescaledb:latest-pg14

2.2 look inside volume

docker volume ls
  • Check where volume is physically stored
docker volume inspect tickerseries
  • check + remove dangling volume
docker volume ls -f dangling=true
docker volume rm <volume name>
docker volume prune

3 Golang alpine container

docker build -t goservimage .

4 AgentDVR docker

#!/bin/bash
docker run -d -p 8090:8090 -p 3478:3478/udp -p 50000-50010:50000-50010/udp \
--memory="2.5g" \
-v /appdata/ispyagentdvr/config/:/agent/Media/XML/ \
-v /appdata/ispyagentdvr/media/:/agent/Media/WebServerRoot/Media/ \
-v /appdata/ispyagentdvr/commands:/agent/Commands/ \
--restart on-failure \
--name ispyagentdvr doitandbedone/ispyagentdvr:latest

5 clean alpine

FROM alpine:3.14

ENTRYPOINT ["sh"]
docker build -t cleanalpine .

docker container run -d -it --name looperA cleanalpine sh -c 'while true; do date; sleep 1; done'
docker exec -it looperA sh