shell 如何只安装Docker客户端而不安装Docker引擎

jecbmhm3  于 2022-11-16  发布在  Shell
关注(0)|答案(2)|浏览(174)

我想写一个脚本,它将使用Docker API。它将与运行在主机上的Docker引擎通信。我不想安装整个Docker到我的映像,只是CLI,然后使用主机网络与Docker引擎通信。
我的脚本将运行docker image inspect someiamge之类的命令

xeufq47z

xeufq47z1#

你可以使用docker的二进制发行版,它可以从here下载,你可以在那里得到docker客户端二进制文件。
下面是从二进制文件安装docker的documentation。只需跳过启动docker引擎的部分,并确保您的docker客户端指向正确的远程引擎(mounting /var/run/docker.sock)

83qze16e

83qze16e2#

我考虑使用docker image来提取CLI客户端。

COPY --from=docker:latest /usr/local/bin/docker  /usr/local/bin/

停靠文件示例

FROM php:8-cli-alpine

COPY --from=docker:latest /usr/local/bin/docker  /usr/local/bin/

稍后您可以通过以下命令使用此图像

docker run -it --rm --entrypoint docker -v docker run -it --rm --entrypoint docker -v /var/run/docker.sock:/var/run/docker.sock yourimage:tag image ls

这有一个很大的缺点。Docker映像不支持linux/arm/v7体系结构。

=> ERROR [linux/arm/v7 internal] load metadata for docker.io/library/docker:latest                                                                                                                        4.5s
 => ERROR [linux/arm/v7 internal] load metadata for docker.io/library/composer:2

最好使用SDK。

相关问题