Je dois importer des fichiers de données d'un fichier local d'utilisateur C:/users/saad/bdd dans un conteneur de menu fixe (cassandra), je n'ai pas trouvé comment utiliser les commandes de menu fixe .
Merci beaucoup pour votre aide
Utilisez docker cp
.
docker cp c:\path\to\local\file container_name:/path/to/target/dir/
Si vous ne savez pas quel est le nom du conteneur, vous pouvez le trouver en utilisant:
docker ps --format "{{.Names}}"
Ce n'est pas aussi simple lorsque vous utilisez Docker Toolbox. Étant donné que docker toolbox n’a accès qu’au dossier C:\Users\
et qu’il existe un gestionnaire Oracle Virtual Box Manager, lorsque vous copiez le dossier, il n’est pas copié directement dans le conteneur, mais plutôt dans un handle de volume monté par Oracle VM machine. Ainsi:
/mnt/sda1/var/lib/docker/volumes/19b65e5d9f607607441818d3923e5133c9a96cc91206be1239059400fa317611/_data
La façon dont je me suis débrouillé c'est simplement en train de modifier mon DockerFile :
FROM cassandra:latest
ADD cassandra.yml /etc/cassandra/
ADD import.csv /var/lib/cassandra/
EXPOSE 9042
Et le construire.
Si vous utilisez docker-toolbox sous Windows, utilisez la syntaxe suivante
docker cp/c/utilisateurs/saad/bdd-restaurants cassandra:/var/lib/docker/containers
Lors de l'utilisation de Docker Toolbox, il semble exister un autre problème lié aux chemins absolus.
Je communique avec les conteneurs à l'aide du "Docker Quickstart Teminal", qui est essentiellement un environnement MINGW64.
Si j'essaie de copier un fichier avec un chemin absolu vers un conteneur, je reçois le message d'erreur.
$ docker cp /d/Temp/my-super-file.txt container-name:/tmp/
copying between containers is not supported
Si j'utilise un chemin relatif, cela fonctionne simplement.
$ cd /d/
$ docker cp Temp/my-super-file.txt container-name:/tmp/
P.S .: Je poste ceci comme une réponse à cause de la réputation manquante pour un commentaire.
Voici la réponse type
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
94ef16fa1d18 tensorflow/tensorflow "/run_jupyter.sh --a…" 2 days ago Up 2 days 6006/tcp, 0.0.0.0:8888->8888/tcp adoring_engelbart
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker ps --format "{{.Names}}"
adoring_engelbart
belzebub-system:~/Documents/dead-exorcist/satan_ml$ docker cp ~/Documents/dead-exorcist/satan_ml/satan_ml.tar.gz adoring_engelbart:/notebooks
belzebub-system:~/Documents/dead-exorcist/satan_ml$
Utilisez cette commande pour copier des fichiers de la machine hôte dans le conteneur de menu fixe.
docker cp c:\abc.doc <containerid> :C:\inetpub\wwwroot\abc.doc