Public Repository

Last pushed: 2 years ago
Short Description
elogd in a container
Full Description

elogd with data from a volume-container (busybox-data)

Instructions:

  1. create and start volume-container:

     docker run --name busybox-data -v /data busybox:ubuntu-14.04 true
    
  2. copy local elog-logbooks to the new volume-container, by creating a container (based on debian:latest) with a bash mounting the local directory on /mnt and the volumes from the volume-container:

     docker run -it -v /var/tmp:/mnt --volumes-from busybox-data --name debian-bash debian:latest /bin/bash
    

    inside the container: cp -rv /mnt/* /data/elog300/.
    specifically the directories: logbooks, resources, scripts, themes

  3. create and start elogd-container with:

     docker run -d --publish 127.0.0.1:8083:8081 --volumes-from busybox-data --name elogdv7a stone1972/elogd:v7 su -c "/usr/local/bin/elogd-static -c /data/elog300/elog.cfg -d /data/elog300/logbooks -s /data/elog300" elog
    

    Meaning:

     --publish 127.0.0.1:8083:8081: Connect host-port 8083 to container-port 8081
     --volumes-from busybox-data: use the volumes from the volume-container
     su -c "<command>" elog: the command to start as user elog
    
  4. subsequent starts of elogd-container with:

     docker start elogdv7a
    

Use:

To access the logbooks, browse to

http://127.0.0.1:8083

on the host machine

Backup the data in the data-volume:

Create a container that mounts the container-data-volume and a local directory; use cp to copy the data. Do once:

docker run -d \     # create a new container in the background
--volumes-from busybox-data \    # get the volumes from the volume-container
-v /path/to/backup/dir:/mnt \    # mount the host-dir to /mnt on the new container
--name elogd-backup \    # container-name
gliderlabs/alpine:latest \    # underlying image-template
cp -rv /data/elog300/ /mnt/.    # the command to copy the data

Subsequent backups:

docker start elogd-backup

Versions

standalone:

Provides a standalone elogd-image with a /data volume that can be mounted for backup

v4 changes:

  1. elogd in /usr/local/bin
  2. conf in /etc/elog/
  3. logbook-base-dir: /data/elog/logbooks

v5 changes:

  1. used the debian:stable image
  2. compiled a elogd statically

v6 changes:

  1. created a small container based on gliderlabs/alpine to hold the statically compiled elogd

v7 changes:

  1. copied elog.cfg to /data/elog300 to make config-changes possible without creating a new build

to do in v8

  1. use rsync to backup files
Docker Pull Command
Owner
stone1972