Probleme mit der Migration zu Docker

Hallo zusammen,

ich versuche derzeit unsere check_mk Site auf Docker zu migrieren. Ich habe auf unserem alten Check_MK Server (VM) ein Backup mittels omd backup /tmp/mybackup.tar.gz erstellt. Habe aber Probleme mein erstelltes Backup (omd restore) im Docker Container wiederherzustellen.
Mein docker-compose-File sieht folgendermaßen aus:

version: '3'
services:
  check_mk:
    image: checkmk/check-mk-raw:1.6.0-latest
    container_name: check_mk
    restart: always
    cap_add:
      - SYS_ADMIN
    ulimits:
      nofile: 1024
    tmpfs:
      - /opt/omd/sites/bidv_lab/tmp:uid=1000,gid=1000
      #- /opt/omd/sites/bidv_lab/tmp:uid=1000,gid=1000
    volumes:
      - /mnt/data/check_mk/omd/sites:/omd/sites
      - /etc/localtime:/etc/localtime:ro
    environment:
      - VIRTUAL_HOST=bidv_lab.my.site
      - VIRTUAL_PORT=5000
      - CMK_SITE_ID=bidv_lab
      - CMK_PASSWORD=test1234
        #    ports:
        #      - 8080:5000
networks:
  default:
    external:
      name: nginx-proxy

Die Site startet auch ohne Probleme und ist unter meinem Virtual-Host erreichbar.
Mein Vorgehen ist jetzt das ich mittels:

Mein Backup File in den Docker Container kopiere:

docker cp /home/myuser/bidv_lab.tar.gz check_mk:/tmp/

Ich über eine Root-Shell in dem Container rein gehe:

docker container exec -it -u root check_mk bash

Die Site stoppe und über:

omd restore --reuse --kill /tmp/bidv_lab.tar.gz

Meine Site wiederherstelle. Leider bekomme ich immer folgenden Fehler:

Restoring site bidv_lab from /tmp/bidv_lab.tar.gz…
Removing Crontab…no crontab for bidv_lab
Stopping apache…(not running)…OK
Stopping nagios…not running…OK
npcd was not running… could not stop
Stopping rrdcached…not running.
Stopping mkeventd…Not running.
Cleaning up tmp directory…OK
Deleting existing site data…
OK
Creating temporary filesystem /omd/sites/bidv_lab/tmp…mount: tmpfs is write-protected, mounting read-only
mount: cannot mount tmpfs read-only
WARNING: Could not mount tmpfs. You may either start the container in privileged mode or use the “docker run” option “–tmpfs” to make docker do the tmpfs mount for the site.
WARNING: You may continue without tmpfs, but the performance of Check_MK may be degraded.

Leider bekomme ich den Fehler, egal ob ich das tmpfs in der Docker-Compose drin stehen habe oder nicht. Jedenfalls wenn ich dann die Site versuche wieder zu starten, komme ich nicht mehr auf das Webinterface.
Evtl. hat jemand mit einem restore im Docker-Container schon Erfahrungen gemacht. Ich muss dazu sage, dass ich noch nicht so viel Erfahrung mit Docker hab.
Danke und viele Grüße!

Auf der bestehenden Site das “tmpfs” abschalten und dann erst das Backup erstellen.
Import ohne tmpfs mal probieren.
Danach kann das ja wieder aktiviert werden.
Mein Spielecontainer läuft auch ohne tmpfs weil nicht ordentlich funktioniert.

Hallo Andreas,
vielen Dank für deine Antwort.

Ich habe es so durchgeführt:
Auf meinem Alt-System habe ich über omd config, tmpfs deaktiviert. Dann ein Backup erstellt.

Das tmpfs-System habe ich auch in meinerm Docker-Container deaktiviert.

In der Docker-Root-Console habe ich die Site gestoppt und über

omd restore --reuse --kill /tmp/bidv_lab.tar.gz

das Backup wiederhergestellt.
Diesmal läuft der Restore auch ohne Fehler durch:

root@1f00cb52b8b2:/# omd restore --reuse --kill /tmp/bidv_lab.tar.gz
Restoring site bidv_lab from /tmp/bidv_lab.tar.gz…
Removing Crontab…no crontab for bidv_lab
Stopping apache…(not running)…OK
Stopping nagios…not running…OK
npcd was not running… could not stop
Stopping rrdcached…not running.
Stopping mkeventd…Not running.
Cleaning up tmp directory…OK
Deleting existing site data…
OK
Preparing tmp directory /omd/sites/bidv_lab/tmp…
root@1f00cb52b8b2:/#

Jetzt starte ich die Site was auch klappt, aber leider ist es über meinen reverse-proxy bidv_lab.my.site nicht erreichbar. Wenn ich nur den Container hochfahre ohne meine Site zu restoren komme ich aber über bidv_lab.my.site auf meinen Container via http.
Auch ein omd status in der Root-Docker-Console sagt mir, dass es alles laufen sollte.
Vielleicht hat ja noch jemand eine Idee.
Danke und viele Grüße!

//edit Ich wollte nur sagen, dass Alt-System und Neusystem beide auf 1.6.0p17.cre laufen.

1 Like

gab es hierzu eine lösung?
ich habe das gleiche problem.
egal wie ich restore… meine site startet sauber aber ist nicht browseable.

Kann es sein, dass der Port welcher von der verwendeten Site benutzt wird ein anderer ist wie der Port welcher im Container ursprünglich konfiguriert wurde? Also eigentlich kann es nur an dem Teil der Apache Config liegen welcher hier Site spezifisch ist.

Die Backup Site läuft default Port 5000.

Der Container läuft default auch 5000 und reicht den Port raus auf 8080.
Kann ich anbrowsen und läuft “http://meineseite.de:8080”.
Betrachte ich die EInstellung mit “omd config” so steht im Container die IP auf 0.0.0.0 für den Apache.

Führe ich dann denn Restore durch und prüfe mit “omd config base” die IP des Apache, so steht da die alte drin vom Restore. Diese ändere ich dann ebenfalls auf “0.0.0.0”.
Danach läuft per “omd start base” alles sauber.
Der Port 5000 oder 5001 (auch schon probiert) wird sauber an den definierten Port “8080” oder “8081” gereicht.
Ich erhalte aber immer nur eine Leere Apache Site beim anbrowsen von “http://meineseite.de:8080” → “Index of /”.
Hänge ich den Sitename “base” noch an die URL “http://sitename.de:8080/base” so sehe ich das der ReverseProxy greift, mir aber dann in Browser die “http://0.0.0.0:5001/base/check_mk/” zurückliefert, was natürlich nicht funktionieren kann.
Sehr komisch… da ich wie gesagt, alles default lasse.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.