docker

building prometheus inside a container#

Don’t install go, instead build it inside the go container;

ruby
docker run --rm -v %CD%:/go/src/github.com/prometheus/prometheus -w /go/src/github.com/prometheus/prometheus golang:1.10 make build

Run it inside that docker container too!

ruby
docker run --rm -v %CD%:/go/src/github.com/prometheus/prometheus -w /go/src/github.com/prometheus/prometheus -p 9090:9090 golang:1.10 ./prometheus

Note: I executed the following to have it use a test config;

bash
copy ./config/testdata/conf.good.yml ./prometheus.yml

bringing up containers in azure#

Create a resource group

sql
az group create --name myGroup --location eastus

Create the container

css
az container create --resource-group myGroup --name myName --image tensorflow/tensorflow --dns-name-label myDnsName --ports 8888

Show status

css
az container show --resource-group myGroup --name myName --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table

set container timezone#

Set the TZ environment variable inside linux containers to set the timezone, for example docker run -e TZ={timezone} or, for example inside your docker-compose;

makefile
environment: TZ: "Australia/Sydney"

using docker without sudo#

sudo gpasswd -a $USER docker

azure container repository login#

bash
az login az acr login --name repoName

accessing windows event viewer#

Accessing Event Viewer in a docker container Using the Windows EventViewer GUI to view Eventlogs in Containers

updating running containers#

bash
# set to always restart docker update --restart=always <container> # rename docker rename <container> <new name>

run container indefinitely#

Set the command to tail -f /dev/null

Example:

bash
docker run -d node tail -f /dev/null

install docker via cloudformation#

docker swarm ports#

docker disk usage#

Find large directories

bash
du -ah / | sort -h -r | head -n 20

Find containers using a given volume

bash
docker ps -a --filter volume=<volume>

Remove container and its associated volume

bash
docker rm -v container

See total volume, image, container space

bash
docker system df

See space used per volume

bash
docker system df -v

Remove dangling volumes from disk

bash
docker volume prune

wsl uses all the ram#

yolo#

Force linux to drop the page cache

bash
echo 1 | sudo tee /proc/sys/vm/drop_caches

limit memory assigned to WSL2 VM#

Create a %UserProfile%\.wslconfig file

ini
[wsl2] memory=6GB swap=0 localhostForwarding=true

add container to another container's network#

For example, adding the container some-postgis to the same network as the container postgres_adminer_1.

Find the NetworkID of the network:

bash
docker inspect postgres_adminer_1 | grep NetworkID

Add the container to the network:

bash
docker network connect f51952f2eb6ea17fbf1917b3609b99f2a70cce8b4e1e1c35177bcb4388ff1124 some-postgis

remove containers by image#

For the image verdaccio/verdaccio:

bash
docker rm $(docker ps -q -a --filter ancestor=verdaccio/verdaccio)

posts#