Je suis nouveau dans docker. J'ai un script shell qui charge des données dans impala et je veux un fichier docker qui s'exécute crée une image et exécute le conteneur. Je suis sur mac, j'ai installé boot2docker et j'ai DOCKER_HOST
configuré l' environnement .
bash-3.2$ docker info
Containers: 0
Images: 0
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Dirs: 0
Execution Driver: native-0.2
Kernel Version: 3.15.3-tinycore64
Debug mode (server): true
Debug mode (client): false
Fds: 10
Goroutines: 10
EventsListeners: 0
Init Path: /usr/local/bin/docker
Sockets: [unix:///var/run/docker.sock tcp://0.0.0.0:2375]
J'essaye d'installer juste une image pré-construite en utilisant:
sudo docker pull busybox
J'obtiens cette erreur:
sudo docker pull busybox
2014/08/18 17:56:19 Post http:///var/run/docker.sock/images/create?fromImage=busybox&tag=: dial unix /var/run/docker.sock: no such file or directory
Quelque chose ne va pas avec la configuration de mon docker?
Lorsque je fais un docker pull busybox
, il extrait l'image et le téléchargement est terminé.
bash-3.2$ docker pull busybox
Pulling repository busybox
a9eb17255234: Download complete
fd5373b3d938: Download complete
d200959a3e91: Download complete
37fca75d01ff: Download complete
511136ea3c5a: Download complete
42eed7f1bf2a: Download complete
c120b7cab0b0: Download complete
f06b02872d52: Download complete
120e218dd395: Download complete
1f5049b3536e: Download complete
bash-3.2$ docker run busybox /bin/echo Hello Doctor
Hello Doctor
Est-ce que je manque quelque chose?
docker
boot2docker
user1189851
la source
la source
Réponses:
Vous n'avez pas besoin d'exécuter de commandes docker, car
sudo
lorsque vous utilisezboot2docker
, chaque commande transmise à laboot2docker
machine virtuelle s'exécute en tant que root par défaut.Vous voyez l'erreur lorsque vous exécutez en tant que
sudo
parce que l' environnementsudo
n'est pasDOCKER_HOST
défini, seul votre utilisateur le fait.Vous pouvez le confirmer en effectuant un:
Puis un
Et à la recherche
DOCKER_HOST
dans chaque sortie.Pour ce qui est d'avoir un fichier docker qui exécute votre script, quelque chose comme celui-ci pourrait fonctionner pour vous:
Dockerfile
Ensuite, vous pouvez exécuter:
Cela construira votre image docker, que vous pouvez voir en faisant un:
Ensuite, pour exécuter votre conteneur, vous pouvez effectuer un:
Cette commande d'exécution démarrera un conteneur à partir de l'image que vous avez créée avec votre
Dockerfile
et votre commande de construction, puis elle se terminera une fois que votrescript.sh
exécution aura terminé.la source
-t
commeyour-image-name:a-tag
.Vous pouvez rapidement configurer votre environnement en utilisant
shellinit
À l'invite de commande, exécutez:
Cela remplira et exportera les variables d'environnement et initialisera d'autres fonctionnalités.
la source
Sur mon MAC lorsque je lance boot2docker-vm sur le terminal en utilisant
Je vois ce qui suit
Après avoir défini ces variables d'environnement, j'ai pu exécuter la construction sans problème.
Mise à jour [2016-04-28] Si vous utilisez une des versions récentes de docker, vous pouvez le faire
eval $(docker-machine env)
définira l'environnement(
docker-machine env
imprimera les instructions d'exportation)la source
docker pull
échouera s'ildocker service
n'est pas en cours d'exécution. Assurez-vous qu'il fonctionne parS'il ne fonctionne pas, vous pouvez le démarrer en
sudo service docker start
Pour Ubuntu 15 et plus, utilisez
sudo systemctl start docker
la source
J'ai aussi eu cette erreur. Cependant, je n'ai pas utilisé boot2docker, mais j'ai simplement installé le docker "simple" sur Ubuntu (voir https://docs.docker.com/installation/ubuntulinux/ ).
J'ai eu l'erreur ("dial unix /var/run/docker.sock: aucun fichier ou répertoire de ce type. Essayez-vous de vous connecter à un démon compatible TLS sans TLS?") Parce que le démon docker n'était pas encore en cours d'exécution .
Sur Ubuntu, vous devez démarrer le service :
Voir aussi http://blog.arungupta.me/resolve-dial-unix-docker-sock-error-techtip64
la source
Pour boot2docker sous Windows, après avoir vu:
Tout ce que j'ai fait c'est:
Cela a généré:
Finalement:
Et docker fonctionne à nouveau
la source
Sous Linux, exécutez d'abord
sudo service docker start
dans le terminal.la source
Si vous utilisez CentOS 7 et que vous avez installé Docker via yum, n'oubliez pas d'exécuter:
Cela démarrera le serveur et le redémarrera automatiquement au démarrage.
la source
Pour configurer votre environnement et le conserver pour les sessions futures, vous pouvez faire:
Ensuite:
source ~/.bashrc
Et votre environnement sera configuré à chaque session
la source
Le premier /var/run/docker.sock fait référence au même chemin dans votre machine virtuelle boot2docker. Écriture correcte pour windows /var/run/docker.sock
la source
Vous, peut-être pas l'OP, mais quelqu'un peut déjà avoir un répertoire appelé en
/var/run/docker.sock/
raison du nombre de fois que vous hackez et slash pour faire les choses correctement avec docker (en particulier noobs). Supprimez ce répertoire et réessayez.Cela m'a aidé à le faire fonctionner sur Centos 7.
la source