Docker (Start-) Parameter exportieren / wiederherstellen

Arbeitet man nicht mit docker-compose und die History ist durchrotiert, kann es kompliziert werden, den genutzten Befehl zu rekonstruieren… Entweder bastelt man sich diesen selbst mit docker inspect zusammen, oder man nutzt runlike: https://github.com/lavie/runlike

Die Anwendung ist auch im Python Repository von Pypi.org verfügbar und kann sehr einfach und bequem installiert werden:

pip3 install runlike

Verwendung von runlike

Hier ein Beispiel eines mit docker-compose gestarteten Containers:

runlike mariadb

# Ausgabe 
docker run --name=mariadb --hostname=my.server.de --env=TZ=Europe/London --env=MYSQL_ROOT_PASSWORD=xxxxx --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=GOSU_VERSION=1.13 --env=MARIADB_MAJOR=10.4 --env='MARIADB_VERSION=1:10.4.20+maria~focal' --volume=/srv/mariadb/data:/var/lib/mysql:rw --volume=/srv/mariadb/conf/my.cnf:/etc/mysql/conf.d/my.cnf:rw --volume=/etc/mysql/conf.d/my.cnf --volume=/var/lib/mysql --network=host --restart=unless-stopped --label='com.docker.compose.version=1.29.2' --label='com.docker.compose.project=mariadb' --label='com.docker.compose.project.working_dir=/srv/mariadb/mariadb' --label='com.docker.compose.project.config_files=docker-compose.yml' --label='com.docker.compose.service=mariadb' --label='com.docker.compose.container-number=1' --label='com.docker.compose.oneoff=False' --label='com.docker.compose.config-hash=80f4c4187f38a77a35a4accfb57fde25f2eb5c82efb6a51fdd19e8d8dd964e2b' --runtime=runc --detach=true mariadb:10.4 mysqld

Oder ein wenig besser lesbar:

runlike mariadb

# Ausgabe
docker run 
  --name=mariadb \
  --hostname=my.server.de \
  --env=TZ=Europe/London \
  --env=MYSQL_ROOT_PASSWORD=xxxxx \
  --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
  --env=GOSU_VERSION=1.13 \
  --env=MARIADB_MAJOR=10.4 \
  --env='MARIADB_VERSION=1:10.4.20+maria~focal' \
  --volume=/srv/mariadb/data:/var/lib/mysql:rw \
  --volume=/srv/mariadb/conf/my.cnf:/etc/mysql/conf.d/my.cnf:rw \
  --volume=/etc/mysql/conf.d/my.cnf \
  --volume=/var/lib/mysql \
  --network=host \
  --restart=unless-stopped \
  --label='com.docker.compose.version=1.29.2' \
  --label='com.docker.compose.project=mariadb' \
  --label='com.docker.compose.project.working_dir=/srv/mariadb' \
  --label='com.docker.compose.project.config_files=docker-compose.yml' \
  --label='com.docker.compose.service=mariadb' \
  --label='com.docker.compose.container-number=1' \
  --label='com.docker.compose.oneoff=False' \
  --label='com.docker.compose.config-hash=80f4c4187f38a77a35a4accfb57fde25f2eb5c82efb6a51fdd19e8d8dd964e2b' \
  --runtime=runc \
  --detach=true 
  mariadb:10.4 mysqld