Aller au contenu

Mon container n'apparait pas lors d'une recherche


StudioNeuneu

Messages recommandés

Bonjour,

Il y a quelques mois, j'avais crée des container que j'avais mis sur le hub Docker pour pouvoir l'utiliser sur mon NAS. En faisant une recherche depuis Docker sur le NAS, je pouvais voir mes container et les installer.

Mais aujourd'hui, j'ai voulu rajouter un nouveau container. Je l'ai crée et envoyé sur le hub Docker. Si je me connecte sur le site, je vois mon nouveau container. Mais le problème c'est que si j'essaie de le chercher depuis mon NAS, impossible de le trouver. La recherche me montre bien bien les anciens container, mais pas le nouveau...

Une idée du problème ?

Lien vers le commentaire
Partager sur d’autres sites

Quand tu dis que mon docker doit être public, tu parles bien du repository sur le hub ? Si c'est ça, oui il est bien public.

J'avais désactivé le SSH, je l'ai réactivé pour pouvoir tester. Je peux bien lancer des commandes docker, mais quand j'essaie de faire un docker pull de mon container j'ai ce message d'erreur :

Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/

C'est pas un problème de droit ? Pour info, j'ai désactivé le compte admin.

Sinon, est-ce que les noms qu'on donne aux container ont de l'importance ?
Mon premier container était un container nommé "ubooquity". Une nouvelle version d'ubooquity est sortie, et pour la tester j'ai voulu créer un nouveau container que j'ai appelé "ubooquity2". Est-ce que d'avoir des noms quasi-identique pourrait poser problème ?

Lien vers le commentaire
Partager sur d’autres sites

Pour le nom, je m'en doutais bien, mais je préférais demander au cas où...

Pour le sudo, j'obtiens ce message d'erreur :

/usr$ sudo docker images

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

sudo: no tty present and no askpass program specified

J'ai essayé en réactivant le compte admin, mais même message...

Lien vers le commentaire
Partager sur d’autres sites

Avec WinSCP, après le sudo -s, je n'avais pas la possibilité d'entrer un mot de passe et du coup de pouvoir utiliser le sudo.

Avec Kitty j'ai pu le faire.

J'ai fait un docker search et il voit bien le container. Du coup j'ai pu fait un docker pull et l'installer sur mon NAS. Mais je comprends pas pourquoi je le vois pas depuis l'interface graphique...

Au moins j'ai une solution de dépannage. Me reste plus qu'à créer un bon fichier Dockerfile...

Un grand merci pour ta patience :biggrin:

Lien vers le commentaire
Partager sur d’autres sites

Tu ne le voyais pas car trop loin dans les résultats et si maintenant tu le vois, c'est parce qu'il est chargé dans ton magasin docker.

Pour info, l'interface graphique ne fait que passer des commandes docker, donc tu peux parfaitement manipuler des conteneurs en graphique ou en CLI sans le moindre souci.

Je te recommande d’ailleurs la CLI, bcp plus rapide et puissante que l'interface graphique, qui est simple, mais du coup simpliste.

Perso je ne me sers pas du tout de l'interface graphique.

Lien vers le commentaire
Partager sur d’autres sites

Je ne suis pas convaincu pour le "trop loin dans les résultats". En faisant une recherche sur mon pseudo, je n'ai normalement que 3 résultats, ça me parait pas énorme...

En passant par ligne de commande, on peut se passer du hub ? Si je crée un fichier Dockerfile sur mon NAS, je peux le lancer sans avoir besoin de le mettre dans mon repository ?

Lien vers le commentaire
Partager sur d’autres sites

Aec la ligne de commande, tu as directement accès à toutes les API Docker, pas uniquement celles que Synology a portée dans son interface.

Donc oui, en CLI tu peux partir d'un Dockerfile, sans utiliser ton repository (tu peux même créer un conteneur from scratch). C'est d'ailleurs comme ça que je créé mes conteneurs (je ne prend que très rarement un docker tout fait) :

  • je trouve une image de base adaptée à mon besoin (par exemple debian:stretch-slim)
  • je créé mon Dockerfile avec les instructions nécessaires (installation des paquets, conf, ...)
  • je créé mon image avec docker build ...
  • et je m'en sers pour déployer mes conteneurs
Lien vers le commentaire
Partager sur d’autres sites

Je me suis crée une machine virtuelle sous ubuntu avec Docker pour pouvoir créer mes conteneur, du coup, j'en ai plus besoin si je peux passer par le NAS.

J'aime bien Docker, mais j'ai beaucoup de mal à faire ce que je veux avec. J'aimerais bien pouvoir créer mes conteneurs en partant de zéro, mais en attendant, je me contente de prendre des Dockerfile qui me correspondent à peu près et je les arrange à ma sauce :cry:

Lien vers le commentaire
Partager sur d’autres sites

Par tir vraiment de zéro n'est pas simple.

Je te recommande de partir d'une image officiel de ta distrib préférée (FROM ....).

Un dockerfile c'est assez simple à faire, la seule "difficulté" c'est lorsque tu dois modifier des fichiers de conf, là il faut soit faire des inclusions (je n'ai pas ça), soit y aller avec sed/awk/... pour les éditer.

Exemple :

# fenrir/example
# Debian stretch-slim+ssh
# Test image
#
# VERSION 0.0.1
#
FROM debian:stretch-slim
MAINTAINER Fenrir <xxx@xxx.xxx>

ENV DEBIAN_FRONTEND noninteractive

# Configure APT
RUN	echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf &&\
	echo 'APT::Install-Recommends "false";' >> /etc/apt/apt.conf &&\
	echo 'Aptitude::Recommends-Important "false";' >> /etc/apt/apt.conf &&\
	echo 'Aptitude::Suggests-Important "false";' >> /etc/apt/apt.conf

# Install packages
RUN apt-get update && apt-get install -y -q ssh

# Configure ssh
RUN mkdir /var/run/sshd &&\
	echo 'root:password' | chpasswd &&\
	sed -e '/PermitRootLogin/ s/^#*/#/' -i /etc/ssh/sshd_config &&\
	echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config &&\
	rm /etc/ssh/ssh_host_*_key.pub 

# Start ssh server
CMD ["/usr/sbin/sshd", "-D"]

# Expose port
EXPOSE 22

 

Lien vers le commentaire
Partager sur d’autres sites

Merci pour les informations.

Mon problème n'est pas vraiment de comprendre le fonctionnement d'un fichier Dockerfile. Ca me parait pas si compliqué dans le principe. La difficulté c'est surtout que je ne maitrise pas Linux et toutes ses commandes... Je suis plus habitué à Windows et son interface graphique...

Par exemple, pour mon serveur Ubooquity, je veux à partir d'un conteneur Alpine Linux (je trouve que cette version de Linux fait des images très petites) rajouter java dessus. Je ne pense pas que ce soit quelque chose de si compliqué à faire, mais pour moi, ça l'est parce-que je ne connais pas les commandes...

Lien vers le commentaire
Partager sur d’autres sites

Linux peut tout autant être géré avec une interface comme windows, mais l'une des forces de Linux c'est qu'on peut aussi tout faire en ligne de commande facilement (plus facilement que sous windows en tout cas).

Si les admin systèmes et réseau préfèrent généralement la ligne de commande (y compris sous windows), c'est que c'est très souvent plus rapide, plus fiable, reproductible et automatisable, ce qui n'empêche pas de sortir des outils graphiques pour certaines tâches.

Dans ton cas, Alpine n'est probablement pas le meilleur choix car c'est une distribution peu utilisée (par rapport à Debian, Arch, ...) donc peu documentée, mais surtout c'est une distribution qui se veut minimaliste, donc peu outillée. C'est donc plus difficile pour un novice.

Tu devrais commencer par une distribution plus user-friendly, comme Debian, en version slim elle ne fait que 60mo, c'est nettement plus que les 4Mo d'Alpine, mais au moins tu as tout ce qu'il faut sous la main et plein de docs partout sur le net.

Néanmoins, pour installer openjdk8 (pas celui d'oracle) sous Alpine, c'est 2 commandes :

apk upgrade --update-cache
apk add openjdk8-jre

Donc dans un Dockerfile, ça donne un truc du genre :

FROM alpine
MAINTAINER Fenrir <xxx@xxx.xxx>

ENV JAVA_HOME=/usr/lib/jvm/default-jvm/jre

RUN apk upgrade --update-cache &&\
    apk add openjdk8-jre &&\
    rm -rf /tmp/* /var/cache/apk/*

=>

/ # java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (IcedTea 3.3.0) (Alpine 8.121.13-r0)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

 

Lien vers le commentaire
Partager sur d’autres sites

Merci pour le Dockerfile, mais justement, la dernière version d'Ubooquity ne fonctionne pas avec openjdk8, il lui faut la version d'Oracle. Sur le forum d'Ubooquity j'ai lu ça :

Citation

* Ubooquity 2.0.0 desktop UI has been rewritten using the new Java UI framework JavaFX (which replaces the old one: Swing). Apparently, the libraries of this framework are not present in all JDK/JRE. They especially seems to be missing from OpenJDK versions. To run Ubooquity, you should use an Oracle JDK or JRE (by the way, a JRE is enough, though a JDK is fine too).

J'avais déjà un conteneur qui fonctionnait avec l'ancienne version d'Ubooquity, sur du Alpine avec Openjdk. Je vais essayer comme tu as dit avec Debian.

En plus j'ai des messages d'erreur avec Alpine. Sur une machine virtuelle, et si je fais "apk upgrade --update-cache" ça va, mais pour le "apk add openjdk8-jre" j'ai une erreur :

ERROR: unsatisfiable constraints:
   openjdk8-jre (missing):
        required by: world[openjdk8-jre]

Et pourtant dans un Dockerfile il n'y a pas de problèmes. Ca doit venir de ma machine virtuelle ou alors il y a un truc que je comprends pas...

Lien vers le commentaire
Partager sur d’autres sites

Déjà il faut voir les dockers comme des instantanés, tu apporte des modifications c'est bien, mais si elle doivent s'exécuter au démarrage par exemple, c'est la carotte assurée en reprenant ceux disponibles s'ils ne correspondent pas à tes besoins...

Perso pour ma part la doc je la trouvais un peu nul (vraiment), j'ai regardé quelques dépôts et j'ai vite compris la simplicité et le potentiel de la création maison, moi je garde qu'en locale mes dock, je les push pas dans le dépôt, mais je garde une copie pour recréer par contre.

Lien vers le commentaire
Partager sur d’autres sites

Je trouve la doc très bien faite au contraire, toutes les commandes/syntaxes y sont, à chaque fois avec un exemple (ce qui est suffisamment rare pour être signalé).

nb : pensez à purger vos images intermédiaires avec "docker rmi" de temps en temps, ça prend vite de la place sinon (le syno ne fait aucun ménage des images inutilisées).

Lien vers le commentaire
Partager sur d’autres sites

Je trouve moi aussi que la doc de Docker est bien faite. J'ai relativement bien compris le fonctionnement. Comme je le disais précédemment, c'est vraiment ma méconnaissance de linux qui me pose problème.

Fenrir, je vais tester ton lien, merci.

Edit : Lien testé !! J'ai légèrement modifié le Dockerfile pour qu'il puisse lancer Ubooquity et ça marche. Alors bien sur, j'ai quasiment rien compris à la procédure d'installation de java, je serais incapable de la refaire moi-même et je ne sais pas si tout ce qui est installé est vraiment utile pour moi, mais au moins ça fonctionne. Merci !! :biggrin:

Lien vers le commentaire
Partager sur d’autres sites

@Fenrir je ne parles pas du contenu en lui même, mais du site qui refuse l'affichage de la version ordinateur, leur version mobile est pas très ergonomique des qu'il y a une ligne de code, faut switcher de gauche à droite, c'est relou...

Je passe 95% de mon temps sur iPhone 7, les 5% restants c'est pour faire de la graphique sur pc, car sur iPhone y a pas ce qui faut pour le faire bien :mrgreen:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.