DOCKER_OPTS ne fonctionne pas dans le fichier de configuration / etc / default / docker
J'ai changé /etc/default/docker
avec DOCKER_OPTS="-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock"
(menu fixe de la version 1.4.1 dans ubuntu 14.04), mais il ne prendre aucun effet pour moi (pas à l'écoute sur le port 2375
). Il semble que docker ne pas lire ce premier fichier de config car j'ai trouvé export http_proxy
de l'environnement de ne pas travailler trop.
Seulement sudo docker -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock -d
œuvres.
Il vraiment confus moi!
source d'informationauteur seanlook
Vous devez vous connecter pour publier un commentaire.
Recommandé Menu Fixe 17.xx +
Il y a un certain nombre de façons de configurer le démon des drapeaux et des variables d'environnement de votre Panneau de démon. Le recommandé est d'utiliser la plate-forme indépendante
daemon.json
fichier, qui est situé dans/etc/docker/
sur Linux par défaut.Ainsi, pour la configuration du Démon de prise(s) pour vous y connecter, procédez de la manière suivante:
Définir l'indicateur suivant dans le
daemon.json
fichier:Redémarrer Docker
Plus facile à chaque fois!
Précédemment sur le Panneau 1.x
Selon docker documentationLa méthode recommandée pour configurer le démon des drapeaux et des variables d'environnement pour votre démon Docker est d'utiliser un systemd drop-in fichier.
Donc, pour ce cas spécifique, procédez de la manière suivante:
Créer un fichier appelé
/etc/systemd/system/docker.service.d/custom.conf
avec le contenu suivant:Vider les changements:
Redémarrer Docker:
Pas Recommandé
Modifier le fichier
/lib/systemd/system/docker.service
Puis exécuter:
Voir ici pour les dernières versions de Debian/Ubuntu que l'utilisation de systemd.
Ce lien explique comment modifier correctement un fichier unitaire de systemd pour travailler avec DOCKER_OPTS: https://github.com/docker/docker/issues/9889
Essentiellement, vous créez un /etc/systemd/system/docker.service.d/docker.conf fichier et spécifiez vos remplacements.
Je devais faire quelque chose comme ce qui suit dans le fichier mentionnés ci-dessus pour lancer le panneau avec le DOCKER_OPTS variable d'environnement dans un systemd environnement:
Actuel docker processus d'installation semble négliger le fichier unitaire de systemd.
J'ai eu le même problème.
Ubuntu 14.10 utilise
systemd
au lieu desysv-init/upstart
. Peut-être que vous devriez regarder dans/lib/systemd/system/docker.service
pour modifier les options.Je viens de lancer dans le "même" problème.
J'ai remarqué que toutes les options dans le fichier /etc/default/docker sont en fait, par défaut.
J'ai enlevé le # devant DOCKER_OPTS, redémarré et cela a fonctionné comme prévu.
Je pense que la précédente docker versions (1.3) n'a pas ces options, par défaut, au moins je ne me souviens pas avoir à enlever le #de signe.
Après vérification de docker code source (config.aller et les drapeaux.aller), je dirais que les options que vous pouvez passer dans
$DOCKER_OPTS
sont des options de menu fixe lui-même, et-H
ou--host
est une option de menu fixe démon.Comme une solution de contournement pour résoudre votre problème, vous pouvez modifier le script d'initialisation du fichier que vous utilisez pour inclure le
-H
option. Par exemple:/etc/init/docker.conf
la modification de la ligne exec avecexec "$DOCKER" -H "tcp://127.0.0.1:2375" -H "unix:///var/run/docker.sock" -d $DOCKER_OPTS
/etc/init.d/docker
de changer les lignes de départ avec quelque chose comme:start-stop-daemon --start --background \
--no-close \
--exec "$DOCKER" \
--pidfile "$DOCKER_SSD_PIDFILE" \
--make-pidfile \
-- \
-H "tcp://127.0.0.1:2375" \
-H "unix:///var/run/docker.sock" \
-d -p "$DOCKER_PIDFILE" \
$DOCKER_OPTS >> \
"$DOCKER_LOGFILE" 2>&1
log_end_msg $?
;;
En réponse à l'systemd commentaires en combinaison avec Ubuntu: Ubuntu 14.04 utilise encore Parvenu, de sorte que les modifications à
/etc/default/docker
doit avoir eu l'effet escompté. Il n'est pas jusqu'à 15.04 que Ubuntu a commencé à utiliser systemd par défaut.Dans le cas où vous avez Ubuntu 15.04 ou plus tard, et donc besoin d'utiliser systemd, ou si vous choisissez explicitement d'utiliser systemd avant 15.04, de la corriger et de la façon la plus simple pour obtenir l'effet désiré de l'OP, une socket TCP, serait:
/etc/systemd/system/docker.service.d/docker-tcp.conf
sudo systemctl daemon-reload
sudo systemctl restart docker
Le contenu du fichier:
J'ai eu un problème similaire. Quand j'ai commencé à regarder pour commencer à déplacer certains systèmes de Ubuntu 14.04 d'Ubuntu 16.04. Mon but était d'utiliser un dockerd fichier de configuration avec dockerd drapeaux (DOCKER_OPTS) pour les deux Ubuntu 16.04 (systemd) et Ubuntu 14.04 (Upstart) autre que /etc/docker/daemon.json. J'ai choisi de ne pas utiliser /etc/docker/daemon.json pour le panneau de configuration du démon, parce que json ne prend pas en charge les commentaires.
Je voulais un systemd de la conception à l'utilisation d'un fichier de substitution, qui ne modifie dockerd drapeaux. Il utilise par défaut le Panneau de systemd fichier de configuration (/lib/systemd/system/docker.service) pour les autres paramètres de menu fixe. Un autre objectif était de personnaliser systemd sur chaque système après chaque changement ou de démarrage.
Il résout mon défi. Il peut vous aider.