/ / redirige la sortie de docker-exec - mysql, docker

redirige la sortie de docker-exec - mysql, docker

docker exec ne travaille pas pour moi. Si je me connecte à un conteneur en cours d'exécution avec docker exec -it mymachine bash et courir sh -c "mysql -u root < /tmp/schema.sql", Ça marche.

Si je viens de courir docker exec mymachine sh -c "mysql -u root < /tmp/schema.sql", il ne donne aucune erreur, mais il ne fait rien. Cela ne me donne pas non plus d'erreur si je cours docker exec mymachine sh -c "mysql -u root < /tmp/i_dont_exist.sql".

Comment puis-je réparer ça?

Réponses:

1 pour la réponse № 1

essaye ça -

docker exec mymachine "sh -c "mysql -u root < /tmp/schema.sql""

Sinon, l'opérateur "<" sera sélectionné par le shell de la machine hôte et non par le conteneur.


0 pour la réponse № 2

Je soupçonne que le < L’opérateur tente de s’emparer de votre hôte plutôt que de votre conteneur. Essayez de mettre toute la commande entre guillemets.