Saltar al contenido

No puedo ejecutar el comando Curl dentro de mi Docker Container

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *