Maison > développement back-end > Golang > Programme shell correct pour le point d'entrée du conteneur Golang Alpine Docker ?

Programme shell correct pour le point d'entrée du conteneur Golang Alpine Docker ?

王林
Libérer: 2024-02-09 14:09:09
avant
1000 Les gens l'ont consulté

golang alpine docker 容器入口点的正确 shell 程序?

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.

Contenu de la question

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.
Copier après la connexion

J'ai aussi essayé : /bin/sh. Qu'est-ce que j'oublie ici?

Solution de contournement

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal