MLD Forum

MLD-5.x => Entwicklung [ Development ] => Topic started by: mafe68 on August 08, 2017, 00:06:41

Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 08, 2017, 00:06:41
Hier möchte ich eine kleine Anleitung machen wie man in Docker eine MLD Devel Umgebung aufbauen kann. Das ganze basiert auf Debian Stretch als Grundsystem.
Was Docker ist und was man alles damit machen kann, kann man hier nachlesen.

https://www.ab-heute-programmieren.de/docker-teil-1-was-ist-docker/ (https://www.ab-heute-programmieren.de/docker-teil-1-was-ist-docker/)
https://de.wikipedia.org/wiki/Docker_(Software) (https://de.wikipedia.org/wiki/Docker_(Software))
https://www.docker.com/what-docker (https://www.docker.com/what-docker)

Docker ist eine Art Virtualisierung die wenig Ressourcen braucht.

So jetzt geht es los:
Als erstes muss man eine Debian 9 installieren. Wie das geht kann jeder auf der Debian Seite nachlesen und möchte hier auch nicht genauer eingehen. Wenn Debian installiert ist müssen wir mal  zuerst ein paar Einstellungen in Debian machen und dann Docker installieren installieren.

Logen uns jetzt als root auf der Konsole ein und machen die Konfigurationsdatei mit einem Editor auf:
Code: [Select]
nano /etc/ssh/sshd_config

# Suchen nach folgender Zeile:

PermitRootLogin without-password

# Die Zeile ändern in und "#" entfernen:

PermitRootLogin yes

# Speichern der Änderung

# Neu starten des SSH Dienst:

/etc/init.d/ssh restart

# Das net-tools Paket installieren

apt-get install net-tools

# Jetzt zur Docker Installation folgende Befehle nacheinander ausführen

apt-get -y install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

apt-key fingerprint 0EBFCD88

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

apt-get update

apt-get install docker-ce

# Jetzt haben wir Docker installiert und können Docker Starten

# Docker starten

service docker start
Jetzt legen wir ein Dockerfile an mit dem dann die ganze Devel Umgebunden dann installiert wird.
Code: [Select]
nano DockerfileFolgenden Inhalt in das Dockerfile eintragen und Speichern
Code: [Select]
FROM debian:stretch
MAINTAINER mafe68 <mafe1968@gmail.com>

# update && pakete installieren
RUN apt-get update && \
    apt-get dist-upgrade -y && \
    apt-get install -y \
    make git-core software-properties-common ipsvd gettext locales locales-all wget subversion

# holen aller Pakete
RUN git clone http://minidvblinux.de/git-5/MLD.git MLD && \
    cd MLD && \
    make checkout name=base && \
        make checkout name=busybox && \
        make checkout name=dpkg && \
        make checkout name=kernel && \
        make checkout name=hid && \
        make checkout name=psplash && \
        make checkout name=ldconfig && \
        make checkout name=udev && \
        make checkout name=init && \
        make checkout name=btrfs && \
        make checkout name=apt && \
        make checkout name=network && \
        make checkout name=syslinux && \
        make checkout name=ISO && \
        make checkout name=LOGO && \
        make checkout name=initramfs && \
    echo -e "devel\ndevel@mld.de\n"|make config && \
    apt-get install -y $(make deps)
Nun starten wir das Dockerfile per Befehl
Code: [Select]
docker build -t mld/mlddevel:1.0 .Jetzt wird die Devel Umgebung installiert aber nur mal die MLD Base später kann man auch noch mehr machen. Das ganze ist erst im Aufbau und in der Testphase und können auch noch einige Fehler drin sein. So weit ich jetzt testen konnte ist es bei meinen Test sauber durchgelaufen.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 08, 2017, 07:00:05
Hi Mario,
sieht gut aus, mal schauen wer alles Interesse hat. :-)

Ich nehme gerade mal mein altes DEVEL-Skript auseinander und baue auf dessen Basis ein Dockerfile auf.

Wenn das Dockerfile soweit für alles funktioniert, könnte man es auch als image hochladen, sodass sich jeder nur via "docker pull" das image herunterladen kann.
Somit könnten wir eine standardisierte, leicht anzupassende und einfach zu verwendbar MLD Devel Umgebung anbieten.

@Devel Kollegen
ist die "source.list" im Wiki noch aktuell für 5.4?
Falls nicht, kann mir jemand mal die aktuell "source.list" geben?

Danke & Gruß
Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: iNOB on August 08, 2017, 07:27:07
Das finde ich mal sehr lobenswert! :)
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 08, 2017, 09:22:26
Morgen Timo!

Habe gestern mal einen Docker Server direkt auf einer alten PC aufgebaut und nicht mehr in der VM. Das Dockerfile läuft sauber durch und es wird auch alles installiert. Wenn man dann das Base Paket bauen will habe ich gestern dann ein Fehlermeldung bekommen das einige Treiber fehlen wie nuovu was ich noch weiß. Lasse heute das ganze nochmal laufen und zeig dann hier die Fehlermeldung.
Wie sieht es bei dir aus läuft es so durch dein Script oder bekommst du auch die Meldung beim bauen von Base?
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 08, 2017, 16:50:01
Hi,
ich bin gerade dabei das gesamt Paket ans fliegen zu bekommen.
Da stoße ich auf einge Pakete, Firmwares usw, welche nicht installiert werden und dann fehlen.

Aus dem Grund auch die Frage nach einer aktuell source.list für die 5.4er Devel umgebung.

Wenn das mal alles sauber installiert wird, versuche ich auch mal ein bauen, ... :-)

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 08, 2017, 17:24:29
Hi Timo,

zur source.list kann am besten P3f etwas sagen,
da er Hauptsächlich die Devel-Server aufgesetzt hat.


Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 08, 2017, 19:24:54
Hi Timo,

ich habe mal alle source.list 's vom 64bit devel besorgt.

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 08, 2017, 19:49:01
Danke,
werde ich entsprechend in mein Dockerfile einbauen.

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 10, 2017, 20:15:29
So,
ich hätte da jetzt mal ein Dockerfile, bei welchem ein "checkout_all" und ein "apt-get install $(make deps)" sauber durchlaufen sollte.  ;)

Code: [Select]
FROM debian:stretch
MAINTAINER TimUx <timux80@gmail.com>


# Port weiterleitung
EXPOSE 22:2222
EXPOSE 80:8080

# Setzen der noninteractive install Variable
ARG DEBIAN_FRONTEND=noninteractive

# Setzen der localen timezone
RUN echo "Europe/Berlin" > /etc/timezone && \
    dpkg-reconfigure -f noninteractive tzdata

RUN echo $'Dpkg::Options { \n\
   "--force-confdef"; \n\
   "--force-confnew"; \n\
} \n\
\n\
APT::Get::Assume-Yes "true"; \n\
APT::Get::AllowUnauthenticated "true"; \n\
Dpkg::Progress "true";' > /etc/apt/apt.conf.d/90force

# update && pakete installieren
RUN apt-get update && \
apt-get dist-upgrade && \
apt-get install \
apt-utils gawk vim nano git ipsvd gettext build-essential wget autoconf pkg-config \
php-pear subversion sudo make git-core software-properties-common cvs rsync locales \
apt-transport-https debian-keyring apt-file mc openssh-server gcc bc locales-all \
debconf-utils python3-software-properties ca-certificates bzip2 screen tree php-dev curl

RUN echo "deb http://ftp.debian.org/debian/ stretch contrib non-free" >> /etc/apt/sources.list &&\
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list &&\
echo "#Debian Multimedia Repository" > /etc/apt/sources.list.d/multimedia.list && \
echo "deb http://www.deb-multimedia.org stretch main non-free" >> /etc/apt/sources.list.d/multimedia.list && \
echo "deb ftp://ftp.deb-multimedia.org stretch main non-free" >> /etc/apt/sources.list.d/multimedia.list && \
echo "deb http://dl.bintray.com/openhab/apt-repo2 stable main" > /etc/apt/sources.list.d/openhab2.list && \
echo "deb https://downloads.plex.tv/repo/deb/ public main" > /etc/apt/sources.list.d/plexm.list && \
echo "deb http://repository.spotify.com/ stable non-free" > /etc/apt/sources.list.d/spotify.list && \
echo "deb http://ppa.launchpad.net/stebbins/handbrake-releases/ubuntu zesty main" > /etc/apt/sources.list.d/stebbins-ubuntu-handbrake-releases-zesty.list && \
echo "deb http://download.virtualbox.org/virtualbox/debian xenial contrib" > /etc/apt/sources.list.d/vbox.list && \
echo "deb http://download.opensuse.org/repositories/home:/emby/Debian_Next/ /" > /etc/apt/sources.list.d/emby-server.list && \
echo "deb http://download.videolan.org/pub/debian/stable/ /" > /etc/apt/sources.list.d/videolan.list && \
echo "deb https://apt.syncthing.net/ syncthing stable" > /etc/apt/sources.list.d/syncthing.list && \
add-apt-repository 'deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main' && \
add-apt-repository 'deb http://ppa.launchpad.net/plexapp/plexht/ubuntu xenial main' && \
add-apt-repository 'deb http://ppa.launchpad.net/team-xbmc/unstable/ubuntu xenial main' && \
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2F683C52980AECF 54422A4B98AB5139 5CB313A0EB7DFFFB 8771ADB0816950D8 0A506F712A7D8A28 6BCA5E4DB84288D9 D26E6ED000654A3E 7180713BE58D1ADC C2518248EEA14886 5C808C2B65558117 6D975C4791E7EE5E 075721F6A224060A 13B00F1FD2C19886 0A506F712A7D8A28 5C808C2B65558117 && \
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add - && \
wget -qO - http://download.opensuse.org/repositories/home:emby/Debian_Next/Release.key | sudo apt-key add -

# update && pakete installieren
RUN apt-get update && \
        apt-get dist-upgrade && \
        apt-get install \
        apt-utils gawk vim nano git ipsvd gettext build-essential wget autoconf pkg-config \
        php-pear subversion sudo make git-core software-properties-common cvs rsync locales \
        apt-transport-https debian-keyring apt-file mc openssh-server gcc bc locales-all \
        debconf-utils python3-software-properties ca-certificates bzip2 screen tree php-dev \
deb-multimedia-keyring libssl1.0.0 kmod && \
pecl install timezonedb

RUN echo "firmware-ipw2x00 firmware-ipw2x00/license/accepted select true" | debconf-set-selections && \
echo "firmware-ivtv firmware-ivtv/license/accepted select true" | debconf-set-selections && \
echo "mariadb-server mariadb-server/root_password password devel" | debconf-set-selections && \
echo "mariadb-server mariadb-server/root_password_again password devel" | debconf-set-selections && \
echo "console-common console-data/keymap/policy select Select keymap from full list" | debconf-set-selections && \
echo "console-common console-data/keymap/full   select de-latin1" | debconf-set-selections && \
echo "keyboard-configuration keyboard-configuration/layout select DE" | debconf-set-selections && \
echo "keyboard-configuration keyboard-configuration/variant select DE" | debconf-set-selections && \
echo "lcdproc lcdproc/auto-upgrade-config select true" | debconf-set-selections && \
echo "mdadm mdadm/initrdstart select all" | debconf-set-selections && \
echo "debconf shared/accepted-oracle-license-v1-1 select true"| debconf-set-selections && \
echo "debconf shared/accepted-oracle-license-v1-1 seen true"| debconf-set-selections


# fix locale.
RUN locale-gen de_DE.UTF-8 && \
    dpkg-reconfigure --frontend=noninteractive locales
ENV LANG de_DE.UTF-8
ENV LANGUAGE de_DE:de
ENV LC_ALL de_DE.UTF-8



# holen aller Pakete
RUN git clone http://minidvblinux.de/git-5/MLD.git MLD && \
cd MLD && \
make checkout_all && \
make checkout name=develserver && \
apt-get install plexmediaserver && \
        echo -e "devel\ndevel@mld.de\n"|make config && \
apt-get install $(make deps)


Jetzt müsste man mal testen, ob das bauen von Pakete funktioniert.

Ich denke für den Betrieb müsste dann vielleicht noch ein Devel-User erstellt werden, unter welchem alles läuft.
Man könnte dann noch Ports definieren, sodass man sich direkt via SSH im Container einloggen kann und dass auch der develserver erreichbar wäre.

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 11, 2017, 09:12:12
Hi Timo!

Dann werde ich einen zweiten Container erstellen und das Dockerfile bauen lassen und dann schauen ob sich die Pakete bauen lassen. :)

Bei meinem Versuchen vom meinem Dockerfile ist beim bauen vom Kernel Fehler gekommen da kmode gefehlt hat.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 11, 2017, 09:26:13
Wir hatten ja besprochen das die PATH Variable erweitert werden muss. Das sollte mit dieser Zeile im dockerfile funktionieren:
Code: [Select]
ENV PATH="/sbin:/usr/sbin:${PATH}"
Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 11, 2017, 09:31:29
Wollte gerade testen aber bei "locally" kommt schon ein error. Ich lass das mal weg und nimm auch die Zeile mit auf im dockerfile
Code: [Select]
ENV PATH="/sbin:/usr/sbin:${PATH}"
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 11, 2017, 09:44:24
@Claus

Du kannst jeder Zeit auch die Änderungen in der Dropbox im Dockefile auch eintragen. Die liegt in unserem gemeinsamen Ordner drin.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 11, 2017, 12:51:12
@Timo!

Habe jetzt mal dein Dockerfile getestet und beim bauen von MLD/ISO/base bekommt man immer die Fehlermeldung das "libc6" fehlt
Code: [Select]
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
ln: das angegebene Ziel 'package/data/lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/' ist kein Verzeichnis: Datei oder Verzeichnis nicht gefunden
../Makefile.libc6:4: die Regel für Ziel „package/data“ scheiterte
make[10]: *** [package/data] Fehler 1
dpkg-deb: Fehler: Lesen von Archiv »../libs/libc6/package.deb« fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
libc6 dpkg: Fehler: Auf das Archiv »../libs/libc6/package.deb« kann nicht zugegriffen werden: Datei oder Verzeichnis nicht gefunden
Makefile:55: die Regel für Ziel „package/data.initrd/var/lib/dpkg/info/libc6.list“ scheiterte
make[8]: *** [package/data.initrd/var/lib/dpkg/info/libc6.list] Fehler 2
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
                    libc6:
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
                      Build package: libc6
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
ln: das angegebene Ziel 'package/data/lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/' ist kein Verzeichnis: Datei oder Verzeichnis nicht gefunden
../Makefile.libc6:4: die Regel für Ziel „package/data“ scheiterte
make[11]: *** [package/data] Fehler 1
dpkg-deb: Fehler: Lesen von Archiv »../libs/libc6/package.deb« fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
libc6 dpkg: Fehler: Auf das Archiv »../libs/libc6/package.deb« kann nicht zugegriffen werden: Datei oder Verzeichnis nicht gefunden
Makefile:55: die Regel für Ziel „package/data.initrd/var/lib/dpkg/info/libc6.list“ scheiterte
make[9]: *** [package/data.initrd/var/lib/dpkg/info/libc6.list] Fehler 2
Makefile:55: die Regel für Ziel „package/data.initrd/var/lib/dpkg/info/libtinfo5.list“ scheiterte
make[8]: *** [package/data.initrd/var/lib/dpkg/info/libtinfo5.list] Fehler 2
Makefile:55: die Regel für Ziel „package/data.initrd/var/lib/dpkg/info/libncursesw5.list“ scheiterte
make[7]: *** [package/data.initrd/var/lib/dpkg/info/libncursesw5.list] Fehler 2
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
                  libc6:
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
                    Build package: libc6
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
ldd: /lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/libc.so.6: Datei oder Verzeichnis nicht gefunden
ln: das angegebene Ziel 'package/data/lib/x86_64-linux-gnux86_64-linux-gnux86_64-linux-gnux86_64-linux-gnu/' ist kein Verzeichnis: Datei oder Verzeichnis nicht gefunden
../Makefile.libc6:4: die Regel für Ziel „package/data“ scheiterte
Werde jetzt zuerst das libc6 Paket installieren und dann nochmal testen
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 11, 2017, 16:09:17
OK, werde ich mal oben im Docker-File beim ersten "apt-get install mal mit einbauen"

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 11, 2017, 16:16:29
Hi Timo,

die libc6 ist schon vorhanden, aber unser Makefile findet es irgendwie nicht,
Claus sagte am Dienstag, das es sich das Makefile einmal anschauen wollte.

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 11, 2017, 16:38:54
Ich hab einige Makefiles geändert, damit die auch im docker Container funktionieren.
Mein Dockerfile sieht bis jetzt so aus:
Code: [Select]
FROM debian:stretch
MAINTAINER MLD Team <team@minidvblinux.de>

ARG DEBIAN_FRONTEND=noninteractive

# update und core Pakete installieren
RUN apt-get update \
 && apt-get dist-upgrade -y \
 && apt-get install -y \
    make git-core software-properties-common locales locales-all \
 && rm -rf /var/lib/apt/lists/*

# MLD Pakete holen
RUN git clone http://minidvblinux.de/git-5/MLD.git MLD \
 && cd MLD \
 && for name in ISO LOGO apt base btrfs busybox dpkg hid init initramfs kernel ldconfig network psplash ssh syslinux udev vfat xfs; do make checkout name=$name; done

# MLD Paket Abhängigkeiten installieren
RUN apt-get update \
 && cd MLD \
 && apt-get install -y $(make deps) \
 && rm -rf /var/lib/apt/lists/*

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 11, 2017, 17:03:02
Nur mal so zur Info, Ihr wisst schon das die MLD im Docker mit dem User root gebaut wird?

Achja, es ist auch nicht erforderlich als Hostsystem ein Debian 9 zu installieren, das kann auch ein Ubuntu, archlinux oder sonst was sein, es ist nur wichtig das der Container auf einem debian:stretch aufbaut.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 11, 2017, 17:04:08
Im Moment ist das so, ja. :-)

Kann man aber auch ändern.

Sind ja die ersten Tests.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 11, 2017, 17:10:45
Was zur späteren Bearbeitung im Container auch wichtig ist zu installieren ist ein Editor ala vim, nano oder mc, da im Standard debian:stretch kein editor installiert ist.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 11, 2017, 17:30:44
@Claus

dein Dockerfile hat einen Fehler und zwar:
Code: [Select]
&& for name in ISO LOGO apt base btrfs busybox dpkg hid init initramfs kernel ldconfig network psplash ssh syslinux udev vfat xfs; do make checkout n
sollte so aussehen:
Code: [Select]
&& for name in ISO LOGO apt base btrfs busybox dpkg hid init initramfs kernel ldconfig network psplash ssh syslinux udev vfat xfs; do make checkout name=$name; done
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 11, 2017, 17:50:59
He schaut aus wie wenn wieder alle vom Urlaub zurück sind! ;D
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 11, 2017, 18:13:52
@MegaX,

Danke für den Hinweis, hab's oben korrigiert. Das war nen copy/paste Fehler.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 11, 2017, 23:21:19
@Claus

Habe jetzt dein Dockerfile laufen lassen und dann ein base gebaut und schaut so aus als wenn es passen würde
Code: [Select]
root@674a924f7b3b:/MLD/ISO# ls -l
total 44
-rw-r--r-- 1 root root 7960 Aug 11 20:03 Makefile
-rw-r--r-- 1 root root   66 Aug 11 20:20 Makefile.version
lrwxrwxrwx 1 root root   65 Aug 11 21:18 base.img -> ../.packages/isos/MLD-5.4_base_2017.08.08-178.10+0+root_amd64.img
lrwxrwxrwx 1 root root   65 Aug 11 21:18 base.iso -> ../.packages/isos/MLD-5.4_base_2017.08.08-178.10+0+root_amd64.iso
drwxr-xr-x 2 root root 4096 Aug 11 20:03 control
-rw-r--r-- 1 root root   10 Aug 11 21:18 depends
lrwxrwxrwx 1 root root    8 Aug 11 21:18 mld.img -> base.img
lrwxrwxrwx 1 root root    8 Aug 11 21:18 mld.iso -> base.iso
-rw-r--r-- 1 root root    5 Aug 11 20:20 name
drwxr-xr-x 3 root root 4096 Aug 11 21:18 package
drwxr-xr-x 2 root root 4096 Aug 11 20:03 src
drwxr-xr-x 2 root root 4096 Aug 11 20:03 template
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 11, 2017, 23:37:35
Danke für den Test. Ich hatte noch keine (PC) Resourcen frei um es selber komplett durchlaufen zu lassen.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 11, 2017, 23:40:26
Habe es mal in der VM laufen lassen und morgen werde ich es aber auch noch am Docker Server direkt laufen lassen. So wie es aussieht können wir jetzt darauf weiter aufbauen. 
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 11, 2017, 23:41:11
@Claus,

brauchst du eine VM bei Hetzner, ist noch platz da .

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 11, 2017, 23:42:52
Hast ja erst mal zusammen geräumt ;)
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 11, 2017, 23:44:18
Ne, die aktuelle Devel war nur mal wieder völlig überlastet mit all den compile jobs die da gleichzeitig drauf laufen...
Da wollte ich nicht noch nen weiteren Compile Job starten.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 11, 2017, 23:47:46
@Claus,

idie meiste Last kommt, durch meine 'bitbake' test's ;)

Denn mit Docker ist ja kein Cross-Compile möglich.

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 11, 2017, 23:50:43
Ach, Du bist's, der mich schon den ganzen Tag aus bremst,... ;)
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 11, 2017, 23:52:16
Ist aber eine andere VM ;)
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 11, 2017, 23:54:00
Aber sicherlich die Selbe HDD
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 11, 2017, 23:55:23
Jo :)
Und dann noch als raid
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 12, 2017, 11:22:35
Habe jetzt nochmal das base Paket bauen lassen und dann mal die Zeilen beim Bauen nachgeschaut was sie so ausgeben. Da habe ich folgendes gefunden
Code: [Select]
deps=; \
if type -P dpkg >/dev/null; then \
for dep in isolinux syslinux syslinux-efi; do \
if ! dpkg --get-selections | grep -q -e "^$dep[^a-zA-Z0-9-].*\binstall"; then \
echo -e "Das für syslinux benötigtes Debian Paket \\033[1;31m${dep}\\033[0;39m fehlt."; \
deps="$deps $dep"; \
fi; \
done; \
fi; \
test -n "$deps" && echo -e "Sie können es durch folgende Eingabe installieren:"; \
test -n "$deps" && echo -e "sudo apt-get install$deps\n"; \
test -n "$deps" -a -n "" && (apt-get install -sqq isolinux syslinux syslinux-efi >/dev/null 2>&1 || echo -e "\n"); \
test -n "$deps" && rm -f Makefile.version; \
test -n "$deps" && (grep -q "^syslinux$" ../broken_packages.lst || echo syslinux >> ../broken_packages.lst); \
test -z "$deps"
echo -e "          \\033[1;38msyslinux\\033[0;39m:"

Code: [Select]
make[7]: Leaving directory '/MLD/network'
make copy_from_host
make[7]: Entering directory '/MLD/network'
  Defekter Link: template/usr/sbin/arp
make[7]: Leaving directory '/MLD/network'
make copy_deps

Code: [Select]
make modules_firmware
make[8]: Entering directory '/MLD/network'
  Firmware nicht gefunden: rtl_nic/rtl8107e-2.fw
  Firmware nicht gefunden: rtl_nic/rtl8107e-1.fw
  Firmware nicht gefunden: rtl_nic/rtl8168h-2.fw
  Firmware nicht gefunden: rtl_nic/rtl8168h-1.fw
  Firmware nicht gefunden: rtl_nic/rtl8168g-3.fw
  Firmware nicht gefunden: rtl_nic/rtl8168g-2.fw
  Firmware nicht gefunden: rtl_nic/rtl8106e-2.fw
  Firmware nicht gefunden: rtl_nic/rtl8106e-1.fw
  Firmware nicht gefunden: rtl_nic/rtl8411-2.fw
  Firmware nicht gefunden: rtl_nic/rtl8411-1.fw
  Firmware nicht gefunden: rtl_nic/rtl8402-1.fw
  Firmware nicht gefunden: rtl_nic/rtl8168f-2.fw
  Firmware nicht gefunden: rtl_nic/rtl8168f-1.fw
  Firmware nicht gefunden: rtl_nic/rtl8105e-1.fw
  Firmware nicht gefunden: rtl_nic/rtl8168e-3.fw
  Firmware nicht gefunden: rtl_nic/rtl8168e-2.fw
  Firmware nicht gefunden: rtl_nic/rtl8168e-1.fw
  Firmware nicht gefunden: rtl_nic/rtl8168d-2.fw
  Firmware nicht gefunden: rtl_nic/rtl8168d-1.fw
make[8]: Leaving directory '/MLD/network'
test "" || find package/data -perm -1 -type f | while read f; do \
if [ ! -e "${f%/*}/.dont-strip-unneeded" ]; then \
strip --strip-unneeded "$f" 2>/dev/null; \
fi; \
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 12, 2017, 13:30:34
Denn mit Docker ist ja kein Cross-Compile möglich.

Gruß,
  Roland

Sicher?  ;)
https://hub.docker.com/r/multiarch/crossbuild/
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 12, 2017, 13:39:28
Denn mit Docker ist ja kein Cross-Compile möglich.

Gruß,
  Roland

Sicher?  ;)
https://hub.docker.com/r/multiarch/crossbuild/

Ich hatte schon überall gesucht,
aber nichts gefunden.

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 12, 2017, 13:41:17
Warum fragst du nicht einfach?  :P :P ;D
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 12, 2017, 13:58:53
Warum fragst du nicht einfach?  :P :P ;D

Du mustest ja unbedingt deine Wohnung umbauen ;)
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 12, 2017, 14:44:28
Ich hab jetzt das docker Paket fertig. Wenn das installiert ist, kann man auf der MLD Docker Container starten und Images bauen.
Damit lässt sich somit auch eine MLD Entwicklungsumgebung auf einem MLD System einrichten.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 12, 2017, 15:51:48
Da Docker doch recht umfangreich ist, und nicht jeder gleich alle Befehle für die Console kennt, gibt es auch gute Frontends (WebIF) für docker.

Ein gutes Frontend für docker ist portainer, welches Ihr euch mit folgendem Befehl über die Console downloaden und starten könnt:
Code: [Select]
docker run -d -p 9000:9000 --name=portainer -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer --no-auth
Danach könnt ihr das WebIF unter http://MLD-HOSTNAME-OR-IP:9000 erreichen.

Über das WebIF könnt ihr dann docker steuern, z.B. images downloaden, container erstellen, starten, beenden usw.

Wenn Ihr portainer gleich beim starten von Docker mitstarten wollt könnt ihr das so machen:
Code: [Select]
docker run -d -p 9000:9000 --restart=always --name=portainer -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer --no-auth
oder auch über ein init script:
/etc/init.d/docker.portainer
Code: [Select]
#!/bin/sh

. /etc/init.d/rc.functions

case "$1" in
start)
echo "Starting $NAME"
docker start portainer
check_status
;;
stop)
echo "Stopping $NAME"
docker stop portainer
check_status
;;
restart)
$0 stop
$0 start
;;
init)
start=1
stop=1
after=docker
;;
*)
echo "Usage $0 {start | stop | restart}" >&2
exit 1
esac
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 12, 2017, 15:52:10
Ich hab jetzt im Wiki eine dazu passende Anleitung erstellt: https://www.minidvblinux.de/wiki/mld/entwicklung/54_entwicklungsumgebung
Bitte schaut Euch die an, ob das alles so passt und stimmt.
Bitte probiert die Anleitung auch aus.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 12, 2017, 16:48:27
Hi Claus,
ein Docker Paket für MLD, endlich.  ;D

Da war ich ja schon vor 1-2 Jahre mal kurz dran, musste es dann mangels Zeit aber erst einmal aufgeben.

Im Grunde könnte man sich für so sämtliche Server / Backround Themen wie Plex, emby, mariadb, owncloud usw, dann auch MLD Pakete sparen und diese zukünftig als Docker Image ziehen und betreiben.
Dann würde MLD auch vom Grund-System, der Devel-Umgebung usw,. wieder schön klein werden.

Wie schaut jetzt euer Dockerfile aus?

Ich habe mein noch einmal aktualisiert und um das Docker-Repo erweitert.

Code: [Select]
MAINTAINER TimUx <timux80@gmail.com>


# Port weiterleitung
EXPOSE 22:2222
EXPOSE 80:8080

# Setzen der noninteractive install Variable
ARG DEBIAN_FRONTEND=noninteractive

# Setzen der localen timezone
RUN echo "Europe/Berlin" > /etc/timezone && \
    dpkg-reconfigure -f noninteractive tzdata

RUN echo $'Dpkg::Options { \n\
   "--force-confdef"; \n\
   "--force-confnew"; \n\
} \n\
\n\
APT::Get::Assume-Yes "true"; \n\
APT::Get::AllowUnauthenticated "true"; \n\
Dpkg::Progress "true";' > /etc/apt/apt.conf.d/90force

# update && pakete installieren
RUN apt-get update && \
apt-get dist-upgrade && \
apt-get install \
apt-utils gawk vim nano git ipsvd gettext build-essential wget autoconf pkg-config ca-certificates \
php-pear subversion sudo make git-core software-properties-common cvs rsync locales gnupg2 \
apt-transport-https debian-keyring apt-file mc openssh-server gcc bc locales-all libc6 libc6-dev \
debconf-utils python3-software-properties ca-certificates bzip2 screen tree php-dev curl && \
rm -rf /var/lib/apt/lists/*

RUN echo "deb http://ftp.debian.org/debian/ stretch contrib non-free" >> /etc/apt/sources.list &&\
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list &&\
echo "#Debian Multimedia Repository" > /etc/apt/sources.list.d/multimedia.list && \
echo "deb http://www.deb-multimedia.org stretch main non-free" >> /etc/apt/sources.list.d/multimedia.list && \
echo "deb ftp://ftp.deb-multimedia.org stretch main non-free" >> /etc/apt/sources.list.d/multimedia.list && \
echo "deb http://dl.bintray.com/openhab/apt-repo2 stable main" > /etc/apt/sources.list.d/openhab2.list && \
echo "deb https://downloads.plex.tv/repo/deb/ public main" > /etc/apt/sources.list.d/plexm.list && \
echo "deb http://repository.spotify.com/ stable non-free" > /etc/apt/sources.list.d/spotify.list && \
echo "deb http://ppa.launchpad.net/stebbins/handbrake-releases/ubuntu zesty main" > /etc/apt/sources.list.d/stebbins-ubuntu-handbrake-releases-zesty.list && \
echo "deb http://download.virtualbox.org/virtualbox/debian xenial contrib" > /etc/apt/sources.list.d/vbox.list && \
echo "deb http://download.opensuse.org/repositories/home:/emby/Debian_Next/ /" > /etc/apt/sources.list.d/emby-server.list && \
echo "deb http://download.videolan.org/pub/debian/stable/ /" > /etc/apt/sources.list.d/videolan.list && \
echo "deb https://apt.syncthing.net/ syncthing stable" > /etc/apt/sources.list.d/syncthing.list && \
add-apt-repository 'deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main' && \
add-apt-repository 'deb http://ppa.launchpad.net/plexapp/plexht/ubuntu xenial main' && \
add-apt-repository 'deb http://ppa.launchpad.net/team-xbmc/unstable/ubuntu xenial main' && \
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" && \
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2F683C52980AECF 54422A4B98AB5139 5CB313A0EB7DFFFB 8771ADB0816950D8 0A506F712A7D8A28 6BCA5E4DB84288D9 D26E6ED000654A3E 7180713BE58D1ADC C2518248EEA14886 5C808C2B65558117 6D975C4791E7EE5E 075721F6A224060A 13B00F1FD2C19886 0A506F712A7D8A28 5C808C2B65558117 && \
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add - && \
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - && \
wget -qO - http://download.opensuse.org/repositories/home:emby/Debian_Next/Release.key | sudo apt-key add -

# update && pakete installieren
RUN apt-get update && \
        apt-get dist-upgrade && \
        apt-get install \
        apt-utils gawk vim nano git ipsvd gettext build-essential wget autoconf pkg-config \
        php-pear subversion sudo make git-core software-properties-common cvs rsync locales \
        apt-transport-https debian-keyring apt-file mc openssh-server gcc bc locales-all \
        debconf-utils python3-software-properties ca-certificates bzip2 screen tree php-dev \
deb-multimedia-keyring libssl1.0.0 kmod && \
pecl install timezonedb

RUN echo "firmware-ipw2x00 firmware-ipw2x00/license/accepted select true" | debconf-set-selections && \
echo "firmware-ivtv firmware-ivtv/license/accepted select true" | debconf-set-selections && \
echo "mariadb-server mariadb-server/root_password password devel" | debconf-set-selections && \
echo "mariadb-server mariadb-server/root_password_again password devel" | debconf-set-selections && \
echo "console-common console-data/keymap/policy select Select keymap from full list" | debconf-set-selections && \
echo "console-common console-data/keymap/full   select de-latin1" | debconf-set-selections && \
echo "keyboard-configuration keyboard-configuration/layout select DE" | debconf-set-selections && \
echo "keyboard-configuration keyboard-configuration/variant select DE" | debconf-set-selections && \
echo "lcdproc lcdproc/auto-upgrade-config select true" | debconf-set-selections && \
echo "mdadm mdadm/initrdstart select all" | debconf-set-selections && \
echo "debconf shared/accepted-oracle-license-v1-1 select true"| debconf-set-selections && \
echo "debconf shared/accepted-oracle-license-v1-1 seen true"| debconf-set-selections


# fix locale.
RUN locale-gen de_DE.UTF-8 && \
    dpkg-reconfigure --frontend=noninteractive locales
ENV LANG de_DE.UTF-8
ENV LANGUAGE de_DE:de
ENV LC_ALL de_DE.UTF-8



# holen aller Pakete
RUN git clone http://minidvblinux.de/git-5/MLD.git MLD && \
cd MLD && \
make checkout_all && \
make checkout name=develserver && \
apt-get install plexmediaserver && \
        echo -e "devel\ndevel@mld.de\n"|make config && \
apt-get install $(make deps) && \
rm -rf /var/lib/apt/lists/*

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 12, 2017, 18:26:27
@MegaX,

--restart=always muss weiter vorne angegeben werden und --no-auth ändert nichts.

Das --no-auth sorgt sogar dafür das man sich gar nicht einloggen kann aber trotzdem ein login Formular angezeigt wird.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 12, 2017, 18:31:35
@TimUx,

ich hab mein docker file hier in diesem Thrad gepostet und auch in's Wiki gepackt. Ein paar kleine Erweiterungen (z.B. Sprach Einstellungen) wird's noch bekommen, aber grundsätzlich funktioniert's ja bereits.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 12, 2017, 18:34:07
@Claus!
Dein Dockerfile ist jetzt nur für MLD- Base?
Die Anleitung werde ich heute nach der Arbeit mal durch gehen und danach installieren.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 12, 2017, 18:42:41
Ja, damit wird das netinstall erstellt. Alles weitere kann man dann je nach Bedarf hinzufügen.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 12, 2017, 18:52:05
@MegaX,

--restart=always muss weiter vorne angegeben werden und --no-auth ändert nichts.

Das --no-auth sorgt sogar dafür das man sich gar nicht einloggen kann aber trotzdem ein login Formular angezeigt wird.

Claus

Jupp, das --restart=always war falsch gesetzt, bzw. hatte ich die falsche Zeile noch in der Zwischenablage, copy/paste und schon haste den Mist ;)
Habs jetzt im Post geändert.

Das mit --no-auth funktioniert, außer du hast vorher den Container schon ohne --no-auth erstellt, dann einfach den Container löschen und nochmal neu erstellen.
Beim ersten Aufruf dann einfach auf  "Manage the Docker instance where Portainer is running" schalten und auf "Connect" klicken (siehe Bild im Anhang). Es kann sein das du den Browsercache vorher löschen musst, falls du einen Fehler bekommst.

@all
Übrigens könnt Ihr mit portainer mehrere Docker-Hosts verwalten und braucht nicht für jeden Host einmal portainer.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 12, 2017, 19:07:47
...
Im Grunde könnte man sich für so sämtliche Server / Backround Themen wie Plex, emby, mariadb, owncloud usw, dann auch MLD Pakete sparen und diese zukünftig als Docker Image ziehen und betreiben.
Dann würde MLD auch vom Grund-System, der Devel-Umgebung usw,. wieder schön klein werden.
...

Nicht nur das, man kann auch Programme die unter den neueren Systemen wie Debian Stretch Probleme machen in einen Container laufen lassen.
Ein Beispiel ist der sqeezeserver auf dem RPI.

Auch ist es möglich z.B. minisatip in einem Container laufen zu lassen und die DVB-Devices an diesen durchzureichen.
Dazu den minisatip Container einfach mit dem Zusatz --device=/dev/dvb starten und schon stehen die DVB-Devices im Container zur Verfügung, und nein es müssen dafür keine Treiber im Container gebaut oder installiert werden.

Sogar Anwendungen die eine grafische Ausgabe benötigen sind mit Docker möglich, z.B. Chrome, vlc usw.

Noch ein großer Vorteil von Docker ist das man Container mit anderen Verknüpfen kann, also z.B. einen owncloud Container mit dem mariadb Container(--link NAME_MARIADB_CONTAINER:ALIASNAME), und man somit den Zugriff auf die Datenbank nur innerhalb des Docker-Netzwerks hat, sprich die Datenbank ist nach außen ins Host-Netzwerk nicht sichtbar.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 12, 2017, 20:09:51
Hi MegaX,

der 'portainer' war es das WebIf welches Ich gefunden hatte,
ich hatte dir ja ein paar Beispiele gesucht.

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 12, 2017, 22:22:32
Ich hab jetzt im Wiki eine dazu passende Anleitung erstellt: https://www.minidvblinux.de/wiki/mld/entwicklung/54_entwicklungsumgebung
Bitte schaut Euch die an, ob das alles so passt und stimmt.
Bitte probiert die Anleitung auch aus.

Claus

Habe mal deine Anleitung im Wiki durch gemacht und auch im Wiki ein paar Anpassungen da es den Ordner /root/devel noch nicht gibt und der erst erstellt werden muss per
Code: [Select]
mkdir /root/devel
2.3 Docker Container erstellen

Jetzt wird ein Docker Container auf Basis des erstellten Image erstellt:
Muss man den Befehl eingeben das der Docker Container gestartet wird
Code: [Select]
docker run -it mld/devel:1.0
Jetzt ist man im Container und kann gleich in den MLD Ordner wechseln
Mit dem Befehl bekommt man eine Fehlermeldung
Code: [Select]
root@522d2b180211:/# docker exec -it MLD bash
bash: docker: command not found
root@522d2b180211:/#
Da geht man einfach in den /MLD Ordner und kann dort dann das "make" machen
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 12, 2017, 23:10:10
Beim "docker run ..." war das "-it" zu viel. Ohne passt das wieder.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 12, 2017, 23:34:09
Habe mal die Punkte 2.3 / 2.4 aus dem Wiki durch gemacht und bekomme folgende Ausgaben
Code: [Select]
MLD> docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mld/devel           1.0                 2f055683b0fb        About an hour ago   916MB
debian              stretch             a20fd0d59cf1        2 weeks ago         100MB
MLD> docker run mld/devel:1.0
MLD> docker start MLD
MLD
MLD> docker exec -it MLD bash
Error response from daemon: Container 56a0d55085f6fc75ef346bd1f0784c303b605e2900d75c7a5c20b35daa00bc44 is not running
MLD>
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 13, 2017, 00:07:41
Du musst den Container so starten:
Code: [Select]
docker run -it mld/devel:1.0und mit dem Befehl kannst du dich verbinden:
Code: [Select]
docker exec -it mld/devel:1.0 bash
Wenn du mit docker start/stop arbeiten willst solltest du den Container so starten:
Code: [Select]
docker run --name=MLD -it mld/devel:1.0Jetzt kannst du den mit docker stop MLD beenden und mit docker start MLD wieder starten

Ob der Container läuft kannst du mit diesem Befehl überprüfen:
Code: [Select]
docker ps -a
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 13, 2017, 00:13:48
ja das habe ich auch schon so versucht nur geht es nicht.
docker run geht mit
Code: [Select]
docker run -it mld/devel:1.0nur der docker exec Befehl funktioniert nicht. Kommt nur ein command not found
Code: [Select]
MLD> docker run -it mld/devel:1.0
root@ca23935a8165:/# docker exec -it mld/devel:1.0 bash
bash: docker: command not found
root@ca23935a8165:/#

Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 00:41:21
OK, das "--name MLD" aber das "-it" soll beim "run" nicht angegeben werden.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 01:35:57
So, inzwischen funktioniert auch das portainer Frontend aus dem MLD Webif heraus.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 13, 2017, 01:48:15
Hallo zusammen,
nur noch einmal der Hinweis, dass bei meinem Dockerfile das "checkout_all" und "apt-get install $(make deps)" voll durchlaufen.

Wenn man also eine gesamte Devel Umgebung bauen möchte und nicht nur base / netinstall, könnte man das Dockerfile verwenden.
Man könnte im Wicki ja zwei Docker-Files anbieten eine Base und ein Full.

Es Wäre auch eine Idee, ein "MLD Devel Base" und "MLD Devel Full" via push zur Docker Cloud hochzuladen.

Dann könnten Sich die User eine Devel einfach nur mit "docker pull mld/devel-base" oder ähnliches, herunterladen und betreiben.

Gruß Timo

Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 13, 2017, 02:21:51
...
nur der docker exec Befehl funktioniert nicht. Kommt nur ein command not found
...

Boah, einfach zu viele Projekte gleichzeitig  ::) :-\

Natürlich kann das nicht funktionieren, denn du bist ja mit dem ersten Befehl schon mit dem Container verbunden
...
Code: [Select]
MLD> docker run -it mld/devel:1.0
root@ca23935a8165:/# <-- daran erkennst du es
...
also wenn du den Container mit:
Code: [Select]
docker run --name=MLD -it mld/devel:1.0erstellst, befindest du dich schon im Container, wenn du Ihn dann mit exit verlässt wird auch der Container gestoppt (-i steht für interactiv) und kann mit docker start MLD wieder gestartet werden.

Wenn du den Container aber  nur mit -t erstellst läuft er auch weiter nachdem du mit exit raus gegangen bist.
Code: [Select]
docker run --name=MLD -t mld/devel:1.0
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 13, 2017, 09:13:35
Mir ist das schon klar wie ich mich mit dem Container verbinde, es geht um das so wie es im Wiki beschrieben ist, dass es funktionieren soll. Geh mal die Schritte durch so wie sie im Wiki stehen und schau ob es geht. Bei mir ist es nicht so gegangen werde aber heute nochmal das ganze von Anfang an testen. Auch vorher ein aktuelles MLD ISO herunterladen das installieren und dann die Schritte aus dem Wiki machen.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 09:52:53
Ich hab das docker Frontend jetzt nach "System" verlegt.

Übrigens: Das mit dem --no-auth funktioniert nur manchmal. Gestern Abend habe ich den Container gestartet und konnte den ohne Login nutzen, heute Morgen werde ich nach nem Passwort gefragt, ohne dass das System ausgeschaltet war, oder ich irgendwas geändert hätte. Manchmal geht's halt, und dann wieder nicht...

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 13, 2017, 10:04:35
Auf einem frisch installieren MLD 5.4 Unstable wollte ich das Docker Paket über das WebIF installieren ist aber noch nicht im WebIF dabei. Über die Konsole geht es
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 10:10:56
Ja, hab ich gestern auch gesehen. Es ist ein System Paket und die werden nur angezeigt wenn der Paketmanager im Webif entsprechend eingestellt ist. Nur sind die Einstellungs-Buttons verschwunden...
Das portainer sollte vielleicht doch besser in ein eigenes Paket, dass dann in der passenden Gruppe einsortiert wird, die auch sofort im Paketmanager angezeigt wird. Über solche Sachen, müssen wir aber erst einmal am Dienstag sprechen.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 13, 2017, 10:11:35
Docker Manager lässt sich über "System - Docker Manager installieren" machen und nach der Installation wird der Docker Manager geöffnet und kann arbeiten drin
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 10:19:01
Ja, wir sollten ruhig beide Dockerfile im Wiki anbieten (devel-base und devel-full). Das devel-full sollte aber auf eine extra Seite wo auch eine Erklärung hin muss, für wen dieses Dockerfile interessant ist. Auf der bestehenden Wiki Seite sollte dann ein Link dort hin.
Auch das Ablegen der fertigen Images auf docker.com ist sinnvoll. Ich bin nur noch nicht dazu gekommen dort einen MLD Account anzulegen. Das kannst Du gerne übernehmen. Es sollten aber alle Entwickler Zugriff af diesen "offiziellen" MLD Account haben.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 13, 2017, 10:28:57
Hi,
ich habe einen Account erstellt und als Email die "mail@minidvblinux.de" angegeben.

Da müsste jetzt ein Aktivierungs-Link hin geschickt worden sein.

Wer möchte kann benutzer und PW bei mir via PN oder so erfragen oder ich versuche Dienstag mal in den Video Chat zu kommen.

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 11:01:05
Hi,

hab's aktiviert. Ein Login müsste jetzt gehen.
Wenn möglich ändere die Mail Adresse auf docker@minidvblinux.de Das könnte ich dann in einen Verteiler packen, falls das nötig tut.
Vielleicht lassen sich ja auch mehrere User zu einem Docker Account zusammenfassen?

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 13, 2017, 11:07:27
Hi Claus,
ich schaue es mir mal an.

Gruß Timo.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 11:14:00
Vorerst habe ich die Anleitung im Wiki geändert, damit es wie beschrieben klappt.
Eine Möglichkeit einen Container zu erzeugen ohne ihn zu starten wäre mir aber weiterhin lieber.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 13, 2017, 11:16:36
@Claus

Wo soll das Dockerfile abgelegt werden? In /root/Dockerfile oder in /root/devel/Dockerfile
jetzt liegt es laut Wiki in /root/Dockerfile und durch das geht der Befehl
Code: [Select]
docker build -t mld/devel:1.0 /root/develnicht. Wenn es in /root/devel/ liegen soll muss man das im Wiki noch anpassen mit
Code: [Select]
cd /root/devel und dann erst ein
Code: [Select]
nano Dockerfile
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 11:20:35
root/devel ist gewollt. Hab's im Wiki korrigiert.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 13, 2017, 11:21:47
Ok sonst hätte ich es gleich geändert!
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 13, 2017, 11:26:44
So,
man kann nur einen Haupt-Account anlegen, welcher das Repo erstellt.

Wenn man dann ein Repo erstellt hat, kann man aber mehrere User auf dieses berechtigen.
Hierfür müsst ihr euch dann wohl alle einen eigenen Account anlegen, mir euren User mitgeben und schalte den dann frei.

@Claus
ich habe jetzt eine zweite Email hinterlegt "docker@minidvblinux.de".
Um die "mail@minidvblinux.de" da wieder raus hauen zu können, muss die docker Mail-Adresse erst wieder bestätigt werden.

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 11:30:35
Roland hat den passenden Befehl zum erzeugen des Containers gefunden. Das Wiki ist angepasst.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 13, 2017, 11:35:41
Wäre auch nicht schlecht wenn man im Wiki auch die wichtigsten Befehle rein gibt. Werde mal ein paar zusammensuchen z.b zum löschen von Container u.s.w
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 11:39:05
docker@minidvblinux.de ist jetzt auch aktiviert.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 11:51:18
Meine Docker-ID ist "clausmuus".

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 13, 2017, 12:16:21
Das Wiki passt jetzt soweit! Ich habe es jetzt die Anleitung nochmal genau so wie sie drin steht abgearbeitet und passt. :)
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 13, 2017, 13:34:40
OK Claus,
ich habe die eingetragen.

Es gibt aktuell zwei Repos

minidvblinux/devel-base
minidvblinux/devel-full

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 13:58:05
Wenn Du jetzt auch noch heraus findest wie ich die zu sehen bekomme,...

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 13, 2017, 13:59:22
Mit, "zu sehen" meinst du was?

Im docker cli, im docker hub webif, oder wo?

Gruß Timo

Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 14:02:52
Na ja. Auf der docker.com Seite hat sich auf meiner account Seite nichts geändert. Unter Reps ist noch immer nichts.
Oder wie soll sich das auswirken, das DU mich mit in die "Gruppe" aufgenommen hast?

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 13, 2017, 14:05:53
Ok,
also im docker hub webif.   :)

Wenn du dich angemeldet hats, klicke mal auf "Contributed".

Das müsste die Repos auftauchen, wo du mitarbeiten darfst. ;-)
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 13, 2017, 14:10:05
So was gibt's da nicht. Siehe Foto:

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 13, 2017, 15:39:49
Hi Claus,
probiere es mal hier https://hub.docker.com/ (https://hub.docker.com/).

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 13, 2017, 15:54:17
Hallo zusammen,
ich wandel den allgemeinen MLD Account, welchenich heute morgen erstellt habe, in eine "organization unit" um.

Mann kann sich dann mit dem Account nicht mehr anmelden, dass ist dann eine reine, organisatorische einheit, in der man dann Benutzer, Teams usw verwalten kann.

@Claus
Dann solltest du auch unter swarm (cloud.docker.com) die Repos sehen können.
Dazu musst du rechts oben bei deinem Profil "minidvblinux" auswählen.

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 14, 2017, 10:05:03
Nur zur Info,
ich habe bei meinen MLD 5.4 Testing x64 Server mal diverse Dienste auf Docker umgestellt ( plex, minisatip, oscam, ...)
Das läuft soweit alles sauber.

Solche Dienste kann man ohne Probleme auf Docker umstellen, allerdings ist dies im Moment nichts für Anfänger, da man doch einiges an Parametern mitgeben muss.

Wenn wir überlegen sollten, Plex usw zukünftig vielleicht über Docker zu betreiben, würde ich vielleicht ein Pseudo MLD Packet bauen, welches dann bei der Installation das Docker Image herunterläd, den Container mit entsprechenden Parameter startet und wenn ein Webgui enthalten sein sollte, ein Link im MLD Webif baut.

Hier könnte man die heute bereits enthaltenen Packete umstellen, alles was zusätzlich von manchen usern benötigt wird, können/müssen sie dann selber im Docker betreiben.

Ach Übrigens,
ich habe miterlweile seit einigen Woche folgende Kombination ohne Probleme am laufen.

- MLD 5.4 testing Server x64, minisatip, plex, epg-daemon, markad
- MLD 5.4 testing Wetek, minisatip
- MLD 5.4 testing RPI3 Client, satip, epg3vdr, skindesigner

epgdaemon, epg2vdr, mariadb, Autotimer, Aufnahmen, Schnittmarken, satip, alles ohne Probleme.

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 14, 2017, 10:14:04
Hi Timo!

Habe gestern auch mal einen MLD Docker Server aufgebaut auf einer alten Hardware die ich zum testen habe. Werde heute dann mal versuchen das ich ioBrocker (Haussteuerung) mit in die MLD einbinde.  Wenn das klappt kann man auch später mal den Container zu in die MLD Hub hinzufügen und für andere bereitstellen.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 14, 2017, 10:19:08
Hi Timo,

genau so was hab ich mir auch überlegt. Aber lass mal Morgen Abend im Video Chat da drüber sprechen in welcher Form wir die nötigen Docker Aufruf Parameter anbieten. Es gibt da ja unterschiedliche Wege die wir gehen können.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 15, 2017, 12:11:32
Hi zusammen,

mir ist gerade aufgefallen das die 'neuste' portainer Version scheinbar noch probleme hat,
also am besten die 1.12.0 nutzen.

Code: [Select]
docker run -d -p 9000:9000 --name=portainer -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer:1.12.0 --no-auth

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 15, 2017, 12:38:59
Hi Roland!

In welcher Form macht sie noch Probleme?
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 15, 2017, 12:42:07
Hi Mario,

ich hatte das Problem, das der lokale endpoint nicht gefunden werden konnte.

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 15, 2017, 12:44:27
Ok danke! Habe mich noch nicht viel mit dem WebIf befasst sonder mache alles über die Konsole.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 15, 2017, 12:58:23
@rfehr

also hier läuft die aktuelle portainer 1.14.0 ohne Probleme (siehe Bild).
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 15, 2017, 14:07:40
@rfehr

also hier läuft die aktuelle portainer 1.14.0 ohne Probleme (siehe Bild).

Hm ??

Hast du den docker unter mld laufen, oder auf einem anderen System.

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: MegaX on August 15, 2017, 14:11:05
Den hab ich gerade auf meinem Desktop am laufen, ist aber auch die gleiche Dockerversion wie auf der MLD.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 15, 2017, 14:12:35
Den hab ich gerade auf meinem Desktop am laufen, ist aber auch die gleiche Dockerversion wie auf der MLD.

Ich setzte Ihn nochmal neu auf, irgend was scheint dann bei mir nicht zu stimmen.

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 15, 2017, 14:30:50
Hi Zusammen,

Kommando zurück die 1.14.0 vom Portainer läuft auch.
Es lag am Browser-Cache :(

Da ich verschieden VM's (OS-Systeme) mit der gleichen IP-Adresse getestet hatte.
(Es geht darum das wir möglicherweise einen Docker-Container für eine Microsoft SQL-Datenbank,
hier bei uns in der Firma aufsetzten wollen)

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 15, 2017, 17:36:28
Bei der MLD habe ich einen zusetzlichen Start Parameter hinzugefügt, damit der locale Endpoint gefunden wird. Ohne den ging es nicht.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 16, 2017, 21:12:12
@ all
Läuft Docker unter arm auch schon oder nur zur Zeit auf x86?
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 16, 2017, 21:20:01
@ all
Läuft Docker unter arm auch schon oder nur zur Zeit auf x86?

Im prinzip schon, aber unter MLD ist das paket noch/nicht vorhanden.

Gruß,
  Roland
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 16, 2017, 21:25:20
OK unter ARM habe ich es schon laufen gehabt Halt unter Debian Stretch, ich meinte ob es schon ein Paket für die MLD gibt. Würde das ganze auch gern auf einem Banana Pi mit einer HDD dran laufen lassen.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 16, 2017, 21:58:58
Ne, das wird zur Zeit noch nicht gehen. Zuvor muss der Kernel dafür angepasst werden.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 16, 2017, 22:00:55
Ok danke, dann werde ich das mal unter Debian Stretch aufbauen am BPi
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 18, 2017, 16:35:12
Ich hab jetzt einen ersten Anlauf genommen, eine einfache Docker Container Verwaltung in den Webif Paketmanager mit aufzunehmen. Jetzt könnte ich ein paar Vorschlage gebrauchen welche Tools da mit aufgenommen werden sollen, und wie die gestartet werden sollten.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 18, 2017, 18:40:29
Hi,
hier die erste Ideen:

Plex Media Server:
Code: [Select]
docker run -d --name plexmediaserver \
--reset allways \
-v /data:/data \
-p 3005:3005 -p 8324:8324 -p 32410:32410/udp \
-p 32400:32400/tcp  -p 32469:32469 -p 32412-32414:32412-32414/udp \
plexinc/pms-docker

oscam:
Code: [Select]
docker run -d --name oscam \
--reset allways \
-v /etc/oscam \
-p 2000:2000 -p 8888:8888 \
linuxserver/oscam

Nextcloud (als neue Alternative zu owncloud):
Code: [Select]
docker run -d --name nextcloud \
--reset allways \
-v /data/nextcloud/config:/var/html/config\
-v /data/nextcloud/data:/var/html/data \
-p 8080:80
nextcloud

Zusätzlich wäre auch mariadb als docker bestimmt sinnvoll.
Dann könnte man via --link so Themen wie nextcloud usw, direkt koppeln.

Eventuell sollten wir auch überlegen, das epg-daemon Paket dann als Docker Images anzubieten, welches man via --link mit dem mariadb Server linken kann.

Ich habe jetzt alles aus dem Gedächtnis geschrieben, könnte sein, dass hier und da ein kleiner Vertipper ist.  ;)

Außerdem sollten die WebGUI Ports noch nach dem MLD Port-Konzept angepasst werden.

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 18, 2017, 21:57:26
Welche sind denn jeweils die webgui Ports?

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 18, 2017, 21:59:02
Bei Plexmedia ist es 32400
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 18, 2017, 22:01:15
Bei Oscam Port 8888
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: rfehr on August 18, 2017, 22:04:10
nextcloud ist glaube ich port 80, aber ich weiß nicht, ob man den umbiegen kann
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 18, 2017, 23:48:33
Das Docker Paket gibt's jetzt auch für den ARM. Auf dem RPI 2 und 3 sollte es funktionieren. Beim BPI kann es sein, dass es noch Probleme gibt, weil der BPI Kernel eventuell nicht alle benötigten Features aktiviert hat.
Der Build wird in ner halben Stunde fertig sein, ich hatte ein abhängiges Paket vergessen.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 19, 2017, 00:04:03
Super! Dann kann ich ja im Urlaub testen wenn es meine bessere Hälfte mal erlaubt. Werde mir ein Bpi und ein Rpi mitnehmen. :D
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on August 19, 2017, 00:10:22
Bin auch gerade dabei ein Dockerfile für ioBrocker (Haussteuerung) zu erstellen. Es gibt schon eines nur muss man die für die MLD anpassen und dann mal testen.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 19, 2017, 14:28:03
Im MLD gibt es für Owncloud, Oscam usw ja bereits vorgegeben WebGUI Ports.

Die können wir ja weiter verwenden, umbiegen ist kein Problem.
Wenn z.B. oscam vom Docker als Standard über Port 8888 im WebGUI läuft, müsste es dann z.B. so aussehen:

Code: [Select]
run -d --name oscam
-p 8006:8888
...

Das Plex können wir 1zu1 so übernehmen, da sind heute ja auch schon keine Ports umgeleitet.

Nextcloud läuft z.B. standard mäßig über Port 80, wenn es auf dem MLD 8019 haben soll, würde es z.B. so aussehen:

Code: [Select]
run -d --name nextcloud
-p 8019:80
...

Gruß Timo

Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 20, 2017, 13:12:01
Hi,

mir fällt gerade ein, dass für die ARM Systeme andere Container verwendet werden müssen als für nen x86'er. Die im MLD Paketmanager angebotenen Docker Container passen somit bisher auf jeden Fall noch nicht.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 20, 2017, 13:28:18
OK,
dann müsste man herausfinden, welche Container wo genutzt werden müssen und dann eine IF oder Case Abrage ins Post oder so packen, wo er dann das run Kommando mit dem entsprechenden richtigen Docker Paket ausführt.

Mir sind auch noch weitere Docker Images eingefallen, die man verwenden könnte, minisatip und emby

- minisatip
  da muss dann noch folgender Parameter dazu:
 
Code: [Select]
--device=/dev/dvb
Die linuxserver.io Jungs haben ja recht viele Pakete, für unterschiedliche Architekturen und recht guten Anleitungen:

Bsp:
https://hub.docker.com/r/linuxserver/minisatip/

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 21, 2017, 00:26:52
Hi,

ich plane nicht alles was als Docker Container verfügbar ist, auch als solchen anzubieten. ;)

Sinnvoll ist das für solche Programme die nur schwer selbst zu kompilieren sind, und für die es keine oder nur veraltete Debian Pakete gibt. Obendrein vorerst nur für Dienste die Keine grafische Ausgabe haben.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: TimUx on August 21, 2017, 15:35:36
Hi,
jup das passt, so hatte ich das auch im Sinn.

Reine Server Dienste, auch eher komplexere Themen, welche ständig aktuell gehalten werden müsse (Plex, ... )

Waren bis jetzt auch nur ideen und Vorschläge, ...  ;)

Gruß Timo
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: Wanninger on August 26, 2017, 01:05:25
Frage:

Sollen die beiden Einträge im Docker-Container:

nextcloud und plexmediaserver

auch schon funktionieren bzw. installierbar sein?

-Wanninger
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on August 26, 2017, 13:39:25
Ich hab'd nicht getestet. Kann durchaus sein, das die noch Fehler enthalten, oder noch mehr Konfiguration benötigen.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on September 08, 2017, 11:02:09
Habe hier Docker laufen auf der MLD 5.4 testing x86. Wenn man Docker starten möchte bekommt man eine Fehlermeldung ob Docker-demon überhaupt gestartet ist?
Porttrainer startet auch nicht über das Webif.
Beim Aufruf von "Docker images" bekommt man diese Fehlermeldung
Code: [Select]
MLD> docker images
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on September 08, 2017, 11:11:09
Habe mal die Log-Datei hochgeladen mit erhöhten Log-Level auf 3

Upload Code lautet: LNLMYW
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on September 08, 2017, 12:30:26
Im unstable Kernel fehlen diverse Treiber. Am besten Du nimmst erst mal die testing MLD.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on September 08, 2017, 12:43:50
Ich habe als erstes mit der MLD 5.4 testing versucht und da ist es das selbe. Bin nachher mal versuchsweise auf die unstable gegangen. Der Log ist von der testing
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on September 08, 2017, 13:00:40
Ich hab's gefunden. In 10 Minuten müsste es im testing und unstable wieder gehen.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on September 08, 2017, 13:03:01
Ok! Danke dann werde ich gleich mal testen und Bescheid sagen.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on September 08, 2017, 16:12:07
So Docker funktioniert jetzt wieder unter MLD 5.4 unstable und auch unter testing! Danke für den schnellen Support
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on September 08, 2017, 16:34:28
Wenn ich ein eigenes Dockerfile erstelle, wo lege ich das am besten ab um es dann zu starten? Unter /root?
Hier das Dockerfile dazu:
Code: [Select]
FROM mhart/alpine-node:4
MAINTAINER mafe68 <mafe1968@gmail.com>
RUN apk add --no-cache bash python build-base
RUN mkdir -p /root/iobroker/
WORKDIR /root/iobroker/
RUN npm install iobroker --unsafe-perm
ADD scripts/run.sh run.sh
RUN chmod +x run.sh
VOLUME /root/iobroker/
EXPOSE 8081 8082 8083 8084
CMD /root/iobroker/run.sh
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on September 09, 2017, 01:01:23
Am besten legst Du z.B. unter /root einen Ordner mit dem Namen des Projekts an, in den Du das Dockerfile speicherst.

Claus
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: mafe68 on September 09, 2017, 04:10:29
Habe ich so gemacht aber bei Dockerfile passt noch was nicht. Muss ich mir heute mal ansehen und nochmal testen. Wenn es geht stelle ich es zur Verfügung und man kann es in die MLD mit aufnehmen.  ioBroker ist eine Hausautomatisierung die ich schon mal im VC vorgestellt habe.
Title: Anleitung MLD Devel in Docker aufbauen!
Post by: clausmuus on September 09, 2017, 10:32:42
Auf jeden Fall wird neben dem Dockerfile noch das Script "run.sh" benötigt, so steht's jedenfalls im Dockerfile.

Claus