Al fin después de tanto batallar ya encontramos el resultado de esta interrogante que muchos de nuestros usuarios de nuestra web presentan. Si quieres aportar algún detalle puedes dejar tu comentario.
Solución:
curl: comando no encontrado
es una gran pista, tienes que instalarlo con:
apt-get update; apt-get install curl
Me encontré con este mismo problema al usar el comando CURL dentro de mi Dockerfile. Como señaló Gilles, primero tenemos que instalar curl. Estos son los comandos que se agregarán en el ‘Dockerfile’.
FROM ubuntu:16.04
# Install prerequisites
RUN apt-get update && apt-get install -y
curl
CMD /bin/bash
Así que agregué curl DESPUÉS de que se estaba ejecutando mi contenedor docker.
(Esto fue para depurar el contenedor… no necesitaba una adición permanente)
Corrí mi imagen
docker run -d -p 8899:8080 my-image:latest
(lo anterior hace que mi “aplicación” esté disponible en mi máquina en el puerto 8899) (no es importante para esta pregunta)
Luego enumeré y creé la terminal en el contenedor en ejecución.
docker ps
docker exec -it my-container-id-here /bin/sh
Si el exec
El comando anterior no funciona, consulta este artículo de SOF:
Error: no se puede iniciar el contenedor: stat /bin/sh: no existe tal archivo o directorio”
luego corrí:
apk
solo para probar que existía en el contenedor en ejecución, luego ejecuté:
apk add curl
y obtuve lo siguiente:
apk añadir rizo
obtener http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
obtener http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/5) Instalación de certificados ca (20171114-r3)
(2/5) Instalación de nghttp2-libs (1.32.0-r0)
(3/5) Instalación de libssh2 (1.8.0-r3)
(4/5) Instalación de libcurl (7.61.1-r1)
(5/5) Instalación de curl (7.61.1-r1)
Ejecutando busybox-1.28.4-r2.trigger
Ejecutando certificados-ca-20171114-r3.trigger
OK: 18 MiB en 35 paquetes
luego ejecuté curl:
/ # curl
curl: try 'curl --help' or 'curl --manual' for more information
/ #
Tenga en cuenta que para “salir” de la ventana perforada en la terminal, tuve que abrir una nuevo ventana de terminal y detener el contenedor en ejecución:
docker ps
docker stop my-container-id-here
ADJUNTAR:
Si no tiene “apk” (que depende de la imagen base que esté usando), intente usar “otro” instalador. De otras respuestas aquí, puedes probar:
apt-get -qq update
apt-get -qq -y install curl
Si te gusta la informática, puedes dejar un enunciado acerca de qué te ha parecido esta división.