Maison >développement back-end >Golang >Programme shell correct pour le point d'entrée du conteneur Golang Alpine Docker ?
Quel est le point d'entrée correct du shell pour le conteneur Golang Alpine Docker ? Il s'agit d'un problème que de nombreux développeurs rencontrent souvent lors de la création de conteneurs Docker à l'aide d'images Golang et Alpine. Avant de résoudre ce problème, nous devons d'abord comprendre les connaissances pertinentes de Golang et Alpine. Golang est un langage de programmation efficace et concis, tandis qu'Alpine est une distribution Linux légère. Lorsque vous utilisez Alpine comme image de base, certaines commandes Shell courantes peuvent manquer en raison de sa nature simplifiée. Alors, comment définir correctement le point d'entrée du conteneur Golang Alpine Docker pour qu'il puisse exécuter le programme shell ? Jetons un coup d'œil à la réponse fournie par l'éditeur php Apple.
J'essaie de démarrer un conteneur Docker Golang Alpine (juste l'image de base) et de m'y connecter immédiatement pour exécuter des commandes, mais je n'arrive pas à spécifier le bon shell.
docker run -d golang:1.20-alpine --entrypoint=bin/sh ec90a5d5eeba63e509acc09e234054d883aa122cd7617f89b61e7d71220847cd docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "--entrypoint=bin/sh": stat --entrypoint=bin/sh: no such file or directory: unknown.
J'ai aussi essayé : /bin/sh
. Qu'est-ce que j'oublie ici?
J'écrirai uniquement une réponse dans les commentaires au lieu d'une commande.
Pour démarrer le conteneur Docker Golang Alpine (juste l'image de base) et vous y connecter immédiatement pour exécuter des commandes, vous pouvez procéder comme suit :
docker run -it golang:1.20-alpine /bin/sh
Si vous souhaitez nommer votre conteneur, vous pouvez faire ceci :
docker pull golang:1.20-alpine docker run -id --name=test5 golang:1.20-alpine docker exec -it test5 /bin/sh
Vous pouvez utiliser docker stop test5 -t 2
停止容器,然后使用 docker start test5
pour redémarrer le conteneur.
Vous pouvez le supprimer en exécutant docker rm test5
.
Vous pouvez modifier légèrement la commande pour éviter l'erreur :
docker run -d --entrypoint=/bin/sh golang:1.20-alpine
Veuillez noter que le commutateur de ligne de commande --entrypoint
précède golang:1.20-alpine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!