【发布时间】:2021-06-29 18:09:50
【问题描述】:
在 Debian 的树莓派上运行 docker 容器。我有以下代码:
pi@raspi:~ $ docker container run --rm -it debian
root@64711f73f7da:/# time curl http://google.com
bash: curl: command not found
然而,如果我在 docker 容器之外运行 curl,它运行良好:
pi@raspi:~ $ curl -V
curl 7.64.0 (arm-unknown-linux-gnueabihf) libcurl/7.64.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Release-Date: 2019-02-06
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL
我还尝试从which curl 指定 docker 容器内 curl 的路径,该路径指定其位置为:/usr/bin/curl。结果与上面类似(bash: /usr/bin/curl: No such file or directory)
如何让 curl 在 Docker 容器内运行?
【问题讨论】:
-
debian基本映像包含非常少的软件集。直接使用它是不寻常的;相反,您可以将其用作包含您的应用程序的自定义图像的基础图像。 Docker Sample application tutorial 可能是一个很好的起点。 -
您是否尝试在主机操作系统中使用 curl 二进制文件?我认为这很不寻常,您通常会将其安装在容器中。
-
是的,你是对的。我刚刚发现 curl 也需要在容器内
标签: docker curl raspberry-pi debian