web-dev-qa-db-fra.com

Comment déployer des fichiers Dockerfile et d'application sur boot2docker

Je commence tout juste à apprendre Docker et j'essaie d'obtenir une configuration simple avec boot2docker sous Windows. Je ne trouvais dans aucun tutoriel ni exemple en ligne comment rendre mes fichiers de projet accessibles à la machine virtuelle boot2docker.

J'ai téléchargé boot2docker et j'ai réussi à l'installer et à le faire fonctionner. Je peux également utiliser SSH et exécuter l'exemple de docker hello world. Je sais donc que l'installation de Docker est opérationnelle dans la machine virtuelle.

Maintenant, la question: Comment puis-je obtenir ma Dockerfile et mes fichiers d'application sur le boot2docker VM afin de pouvoir construire un conteneur Docker?

En d'autres termes, j'essaie de faire cela à partir de la machine virtuelle boot2docker:

$ cd /some-directory-from-my-Host-os
$ docker build .

J'ai essayé de suivre les instructions de https://github.com/boot2docker/boot2docker#folder-sharing et de configurer un partage SAMBA. Je parviens à me connecter de Windows au partage à \\192.168.59.103\data, mais cela ne me dit rien comment accéder à ce même répertoire depuis la machine virtuelle boot2docker.

Je pense que la réponse pourrait être évidente, mais je suis sûr que je ne suis pas le seul à frapper ce mur. Merci de votre aide!


Mise à jour - Intégré maintenant dans boot2docker 1.3!

Depuis boot2docker 1.3, la possibilité de monter un dossier partagé a été ajoutée afin que la VM puisse partager votre dossier dev directement. Plus d'informations ici: https://github.com/boot2docker/boot2docker#virtualbox-guest-additions

39
Christian Rondeau

Je ne sais pas si ça aide sous Windows. Mais pour Mac voir:

boot2docker avec les additions invitées VirtualBox
Comment monter/Utilisateurs dans boot2docker

https://medium.com/boot2docker-lightweight-linux-for-docker/boot2docker-together-with-virtualbox-guest-additions-da1e3ab2465c

tl; dr Construisez votre propre boot2docker.iso personnalisé avec VirtualBox Guest Ajouts (voir link ) ou télécharger http://static.dockerfiles.io/boot2docker-v1.0.1-virtualbox-guest-additions-v4.3.12.iso et enregistrez-le dans ~/.boot2docker/boot2docker.iso.

11
mattes

Après votre progression actuelle et en supposant que votre conteneur samba soit en cours d’exécution, vous pouvez trouver le chemin du dossier/data sur votre Boot2docker VM en exécutant:

$ docker inspect <samba_container_id>

Cela listera les détails de configuration des conteneurs. Tout en bas, vous devriez voir:

"Volumes": { 

    "/data": "/mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>

C'est votre chemin boot2docker vm/data . Cd simplement dans ce dossier

$ cd /mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>

Depuis l'explorateur Windows, accédez à:

\\192.168.59.103\data

Maintenant, vous pouvez coller/copier/créer des fichiers dans ce dossier de données et vous devriez les voir peupler sur votre Boot2docker VM à: path: /mnt/sda1/var/lib/docker/vfs/dir/<long_folder_id_here>

7
meta_state

IMHO le meilleur moyen serait d'utiliser scp. Comme vous pouvez le faire avec ssh, vous pouvez utiliser winscp pour envoyer le fichier Dockerfile à la VM.

5
creack

ssh le fichier dans votre VM

dockerfile=$(cat LocalDockerfile)
boot2docker ssh "echo '$dockerfile' > Dockerfile"

écrit ici http://micahasmith.github.io/2014/11/07/copying-files-into-boot2docker/

3
Micah

Sur Boot2Docker, changez votre répertoire "cd/c" pour pouvoir voir les dossiers des utilisateurs sous Windows. Placez le contenu que vous souhaitez partager dans les dossiers de vos utilisateurs préférés.

2
Livio

J'utilise vagrant avec cette case: https://vagrantcloud.com/yungsang/boot2docker

et j'ai changé le fichier Vagrant pour utiliser (auto-) rsync sous Windows:

  rsync_args = ["--verbose", "--archive", "--delete", "-z"]
  rsync_auto = true
  rsync_exclude = [".vagrant/"]
  config.vm.synced_folder ".", "/vagrant", rsync__args: rsync_args, rsync__exclude: rsync_exclude, rsync__auto: rsync_auto, type: "rsync"
0
kondor