Pages : 1
#1 Le 15/02/2018, à 14:30
- Hizoka
Création d'une image docker
Cette discussion devrait nous aider à en créer facilement. A suivre
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#2 Le 15/02/2018, à 15:08
- k3c
Re : Création d'une image docker
Pour créer une image docker, il faut partir d'une image de référence.
Cela peut être Ubuntu, Debian, Alpine Linux (Linux réduit), scratch (image vide)...
Cela correspond à la ligne
FROM
du Dockerfile
On peut être avoir son PC sous Ubuntu et construire une image Docker pour Debian ou un autre OS
Ensuite, pour construire une image il y a une "recette de cuisine" : le Dockerfile
https://docs.docker.com/engine/reference/builder/
On peut trouver des examples de Dockerfiles sur le hub docker
par exemple un dockerfile pour un serveur web nginx
https://hub.docker.com/_/nginx/
suivant les versions
https://github.com/nginxinc/docker-ngin … Dockerfile
Dernière modification par k3c (Le 16/02/2018, à 06:12)
Debian 12 sur Thinkpad reconditionné
Hors ligne
#3 Le 15/02/2018, à 16:20
- k3c
Re : Création d'une image docker
Pour créer ton image docker
extrait de ta page
Installation :
Via mon ppa :
sudo add-apt-repository ppa:hizo/mkv-extractor-gui
sudo apt-get update
Version QT4:
Dépendances : mkvtoolnix, python3, python3-pyqt4
sudo apt-get install mkv-extractor-qt
donc faire dans le Dockerfile ce qui est indiqué plus haut
Sinon on peut aussi reconstruire mkv-extractor à partir des sources
2 exemples de Dockerfile construisant un exécutable à partir des sources
Debian 12 sur Thinkpad reconditionné
Hors ligne
#4 Le 15/02/2018, à 20:02
- Hizoka
Re : Création d'une image docker
J'ai du mal à piger le truc...
Ça franchement pas l'air simple...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#5 Le 15/02/2018, à 21:35
- k3c
Re : Création d'une image docker
tu crées un répertoire à part, tu y mets un Dockerfile correct, et tu fais un truc du genre
docker build -t $USER/monimage-v1
puis tu fais
docker images
et tu regardes ce que ça affiche
Debian 12 sur Thinkpad reconditionné
Hors ligne
#6 Le 15/02/2018, à 22:57
- k3c
Re : Création d'une image docker
Un container docker c'est un process isolé, avec un peu d'espace disque et une carte réseau.
Il lance un serveur web nginx ou apache, une base de données, Captvty, un Wordpress...
Par exemple Percona propose des bases MariaDb optimisées, en tant qu'images docker.
Debian 12 sur Thinkpad reconditionné
Hors ligne
#7 Le 17/02/2018, à 13:43
- k3c
Re : Création d'une image docker
J'ai créé une image (à améliorer)
https://hub.docker.com/r/k3ck3c/mkvextractor/
Le Dockerfile si vous voulez le faire vous-même
FROM ubuntu
RUN apt-get update &&\
BUILD_PACKAGES='software-properties-common' &&\
apt-get install -y --no-install-recommends $BUILD_PACKAGES &&\
AUTO_ADDED_PACKAGES=`apt-mark showauto` &&\
add-apt-repository ppa:hizo/mkv-extractor-gui && \
apt-get update && \
apt-get install -y mkvtoolnix python3 python3-pyqt4 mkv-extractor-qt5 &&\
apt-get remove --purge -y $BUILD_PACKAGES &&\
rm -rf /var/lib/apt/lists/* &&\
useradd -d /home/gg -m -s /bin/bash gg &&\
echo gg:gg | chpasswd
USER gg
CMD ["mkv-extractor-qt5"]
Debian 12 sur Thinkpad reconditionné
Hors ligne
#8 Le 17/02/2018, à 15:47
- Hizoka
Re : Création d'une image docker
J'ai peut être pas tout compris mais bon :
docker pull k3ck3c/mkvextractor
Using default tag: latest
Warning: failed to get default registry endpoint from daemon (Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/info: dial unix /var/run/docker.sock: connect: permission denied). Using system default: https://index.docker.io/v1/
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/create?fromImage=k3ck3c%2Fmkvextractor&tag=latest: dial unix /var/run/docker.sock: connect: permission denied
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#9 Le 17/02/2018, à 16:34
- k3c
Re : Création d'une image docker
soit tu fais
sudo docker pull ...
mais plutôt
sudo usermod -a -G docker $USER
suivi de logout et login
Dernière modification par k3c (Le 20/02/2018, à 13:20)
Debian 12 sur Thinkpad reconditionné
Hors ligne
#10 Le 17/02/2018, à 18:01
- Hizoka
Re : Création d'une image docker
Je comprends franchement as le fonctionnement du bordel...
c'est franchement pas user friendly ce truc...
j'ai donc télécharger pour plus de 200mo de donnée via docker pull k3ck3c/mkvextractor et ... so what ?!
bon essayons :
docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix gg/mkvextractorv2
Unable to find image 'gg/mkvextractorv2:latest' locally
docker: Error response from daemon: repository gg/mkvextractorv2 not found: does not exist or no pull access.
See 'docker run --help'.
docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix k3ck3c/mkvextractordocker
Unable to find image 'k3ck3c/mkvextractordocker:latest' locally
docker: Error response from daemon: repository k3ck3c/mkvextractordocker not found: does not exist or no pull access.
See 'docker run --help'
...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#11 Le 17/02/2018, à 18:22
- k3c
Re : Création d'une image docker
c'est ma faute, un copier-collé malheureux, j'ai mis à jour la page
docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix k3ck3c/mkvextractorv2
quand tu fais docker run
1) ça regarde si
docker images
trouve l'image sur ton PC
2) sinon ça va la chercher sur
hub.docker.com
Par contre, il va falloir ajouter qu l'on partage la carte vidéo avec l'hôte ou des choses du genre je pense, j'ai au démarrage
gg@asus:~$ docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix gg/mkvextractorv2
process 1: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/etc/machine-id": No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
libGL error: pci id for fd 9: 8086:1916, driver (null)
libGL error: No driver found
libGL error: failed to load driver: (null)
libGL error: failed to open drm device: No such file or directory
libGL error: failed to load driver: i965
Traceback (most recent call last):
File "/usr/bin/mkv-extractor-qt5", line 1766, in WorkReply
line = line.split('|')[1].strip() # Recupere la 2eme colonne, la langue en 3 lettres
IndexError: list index out of range
mais ça me lance bien ton soft
Dernière modification par k3c (Le 17/02/2018, à 18:24)
Debian 12 sur Thinkpad reconditionné
Hors ligne
#12 Le 17/02/2018, à 18:44
- Hizoka
Re : Création d'une image docker
Bah, c'est ce que j'ai fait déjà, mais il ne se passe rien :
docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix k3ck3c/mkvextractorv2
Unable to find image 'k3ck3c/mkvextractorv2:latest' locally
docker: Error response from daemon: repository k3ck3c/mkvextractorv2 not found: does not exist or no pull access.
See 'docker run --help'.
Mais je pige pas le truc, le logiciel est pas sur ton pc mais sur un serveur ?
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#13 Le 17/02/2018, à 19:27
- k3c
Re : Création d'une image docker
mea culpa, je fais que des âneries
J'ai mis à jour l'image, tu peux re-essayer, mais avec k3ck3c/mkvextractor?
docker run -it -e DISPLAY=$DISPLAY -v /home:/home -v /tmp/.X11-unix:/tmp/.X11-unix k3ck3c/mkvextractor
Edit si on veut accéder aux fichiers dans son compte, il faut le
-v /home:/home
sinon on ne "verra" aucun fichier
Dernière modification par k3c (Le 18/02/2018, à 11:18)
Debian 12 sur Thinkpad reconditionné
Hors ligne
#14 Le 17/02/2018, à 19:31
- Hizoka
Re : Création d'une image docker
Ok, j'arrive à me connecter mais j'ai une erreur au lancement.
Donc si je pige on se connecte à un serveur qui a le logiciel.
Mais sans connexion ça fonctionne quand même ?
C'est quelque chose que je ne connaissais pas du tout. Mais le coté pratique m’échappe un peu...
Je trouve plus intéressant d'avoir un fichier appimage sur son pc, sa clé usb ou qu'importe et de pouvoir le lancer via un simple clic dessus.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#15 Le 17/02/2018, à 19:35
- k3c
Re : Création d'une image docker
Hizoka a dit
>>>Donc si je pige on se connecte à un serveur qui a le logiciel.
oui, et on le télécharge sur sa machine
fais
docker images
>>>Mais sans connexion ça fonctionne quand même ?
oui vu que l'image est sur ton PC
Tu aurais pu faire le
cd une_directory_a_part_avec_le_Dockerfile
docker build -t $USER/mkv .
puis
docker run ... $USER/mkv
Edit: lis https://blog.jessfraz.com/post/docker-c … e-desktop/
Dernière modification par k3c (Le 17/02/2018, à 19:37)
Debian 12 sur Thinkpad reconditionné
Hors ligne
#16 Le 18/02/2018, à 10:41
- k3c
Re : Création d'une image docker
J'aime bien savoir quel process consomme le plus de bande passante, j'utilise nethogs
si tu as une carte wlan0, fais
docker run -it --net=host --pid=host --rm k3ck3c/nethogs
si tu veux monitorer ta carte eth0, fais
docker run -it --net=host --pid=host --rm k3ck3c/nethogs eth0
ou si tu veux monitorer ta carte wlp2s0, fais
docker run -it --net=host --pid=host --rm k3ck3c/nethogs wlp2s0
Tu as le Dockerfile à
https://hub.docker.com/r/k3ck3c/nethogs/
si tu veux reconstruire l'image docker toi-même
Debian 12 sur Thinkpad reconditionné
Hors ligne
#17 Le 18/02/2018, à 11:21
- k3c
Re : Création d'une image docker
Un autre exemple, le Dockerfile de k3ck3c/captvty
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
# activate i386 arch for Wine and install stuff we need
RUN dpkg --add-architecture i386 && \
apt-get update && \
BUILD_PACKAGES='wget software-properties-common unzip apt-transport-https openssh-server xauth cabextract winbind squashfs-tools pulseaudio sudo x11-apps xfce4 c
ups joe xfce4-terminal xvfb socat x11vnc firefox' &&\
apt-get -qy upgrade && apt-get -qy install $BUILD_PACKAGES && \
AUTO_ADDED_PACKAGES=`apt-mark showauto` && \
# install latest Wine
wget -qO- https://dl.winehq.org/wine-builds/Release.key | apt-key add - && \
apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ && \
apt-get update && apt-get -qy install --install-recommends winehq-devel && \
# create our user for Wine
useradd -d /home/gg -m -s /bin/bash gg && \
echo gg:gg | chpasswd && \
# winetricks
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks -O /tmp/winetricks && \
chmod +x /tmp/winetricks
USER gg
ENV WINEDEBUG=-all WINEPREFIX=/home/gg/.wine WINEARCH=win32
RUN winecfg && \
xvfb-run -a /tmp/winetricks -q vcrun2010 dotnet40 gdiplus comctl32 ie8
USER root
RUN apt-get autoremove -y --purge software-properties-common && \
apt-get autoremove -y --purge && \
apt-get remove --purge -y $BUILD_PACKAGES $AUTO_ADDED_PACKAGES && \
apt-get clean -y && \
rm -rf /home/wine/.cache && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
USER gg
RUN wget -q -O- http://captvty.fr/ | egrep -o '\/\/.+?\.zip' | sed 's/\/\//http:\/\//' | xargs wget -O /tmp/Captvty.zip && \
ls -alrt /tmp/Cap*zip && unzip -d ~/Captvty /tmp/Captvty.zip && rm /tmp/Captvty.zip
CMD wine /home/gg/Captvty/Captvty.exe
Debian 12 sur Thinkpad reconditionné
Hors ligne
#18 Le 18/02/2018, à 11:32
- k3c
Re : Création d'une image docker
Le Dockerfile de Captvty V3
FROM ubuntu:16.04
# inspired by webanck/docker-wine-steam
# preparations
ENV DEBIAN_FRONTEND noninteractive
ENV LANG fr_FR.UTF-8
ENV LANGUAGE fr_FR:en
ENV LC_ALL fr_FR.UTF-8
# activate i386 arch for Wine and install stuff we need
RUN locale-gen fr_FR.UTF-8 && \
dpkg --add-architecture i386 && \
apt-get update && \
BUILD_PACKAGES='wget software-properties-common unzip apt-transport-https openssh-server xauth cabextract winbind squashfs-tools pulseaudio x11-apps xfce4 cups joe xfce4-terminal xvfb socat x11vnc' &&\
apt-get -qy upgrade && apt-get -qy install $BUILD_PACKAGES && \
AUTO_ADDED_PACKAGES=`apt-mark showauto` && \
# install latest Wine
wget -qO- https://dl.winehq.org/wine-builds/Release.key | apt-key add - && \
apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ && \
apt-get update && apt-get -qy install --no-install-recommends winehq-devel && \
# make sshd work and enable X11 forwarding
# create our user for Wine
useradd -d /home/gg -m -s /bin/bash gg && \
echo gg:gg | chpasswd && \
# winetricks
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks -O /tmp/winetricks && \
chmod +x /tmp/winetricks && \
echo $AUTO_ADDED_PACKAGES && \
sleep 11
USER gg
ENV WINEDEBUG=-all WINEPREFIX=/home/gg/.wine WINEARCH=win32
RUN winecfg && \
xvfb-run -a /tmp/winetricks -q --unattended dotnet45 corefonts comctl32 gdiplus vcrun2010 ie8
USER root
# cleaning up
RUN apt-get autoremove -y --purge software-properties-common && \
apt-get autoremove -y --purge && \
apt-get remove --purge -y software-properties-common apt-transport-https openssh-server xauth cabextract winbind squashfs-tools pulseaudio x11-apps xfce4 cups joe xfce4-terminal xvfb socat x11vnc && \
apt-get clean -y && \
rm -rf /home/wine/.cache && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /tmp/inetricks
USER gg
RUN wget -q -O- http://v3.captvty.fr/ | egrep -o '\/\/.+?\.zip' | sed 's/\/\//http:\/\//' | xargs wget -O /tmp/v3Captvty.zip && \
ls -alrt /tmp/v3Cap*zip && unzip -d ~/Captvtyv3 /tmp/v3Captvty.zip && rm /tmp/v3Captvty.zip
USER root
RUN apt-get remove --purge -y wget &&\
apt-get clean -y && \
apt-get autoremove -y && \
rm -rf /home/wine/.cache && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
USER gg
CMD wine /home/gg/Captvtyv3/Captvty.exe
Dernière modification par k3c (Le 18/02/2018, à 11:35)
Debian 12 sur Thinkpad reconditionné
Hors ligne
#19 Le 18/02/2018, à 17:45
- Hizoka
Re : Création d'une image docker
Le principe est pas trop mal mais ce n'est pas franchement utilisable...
il m'a fallu télécharger plus de 600mo pour un soft qui n'est pas bien lourds même s'il a des dépendances.
De plus il n'est pas téléchargeable via un simple clic, ça demande des utilisations de commandes, ce qui moi ne me dérange pas mais n'est pas userfriendly.
En tout cas, merci pour le temps passer à m'expliquer ce principe
Si tu le souhaites, je te laisse gérer ça
je peux proposer le lien dans le 1er message de mkv extractor qt5
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#20 Le 18/02/2018, à 18:38
- k3c
Re : Création d'une image docker
L'image n'est pas optimisée, j'ai juste créé brut de fonderie.
Je vais voir à quelle taille je peux descendre.
Debian 12 sur Thinkpad reconditionné
Hors ligne
#21 Le 19/02/2018, à 14:11
- k3c
Re : Création d'une image docker
>>>De plus il n'est pas téléchargeable via un simple clic, ça demande des utilisations de commandes, ce qui moi ne me dérange pas mais n'est pas userfriendly.
le
docker pull xxx
n'est pas obligatoire, si tu fais
docker run ...
et que l'image n'est pas sur ta machine, docker va la chercher sur le hub, qui par défaut est sur
hub.docker.com
mais peut être sur ta machine
Sinon je voulais bien montrer les commandes, mais on peut faire plus simple avec
docker-compose
https://docs.docker.com/compose/
qui utilise un fichier yaml avec toute la définition
et on fait juste
docker-compose up
D'autre part, je voulais faire "pédagogique" et partir d'une grosse image docker pas optimisée pour montrer que l'on finissait par avoir une image très nettement plus petite, mais j'ai surtout réussi à te convaincre que docker c'est nul
:-(
Debian 12 sur Thinkpad reconditionné
Hors ligne
#22 Le 19/02/2018, à 19:10
- Hizoka
Re : Création d'une image docker
Non je ne pense pas que c'est nul, mais je me dis que ce système n'est pas forcement très userfriendly.
Mais je ne fais que le découvrir...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#23 Le 09/03/2018, à 16:47
- k3c
Re : Création d'une image docker
Je vais ajouter une image docker basée sur Alpine Linux
Debian 12 sur Thinkpad reconditionné
Hors ligne
Pages : 1