我想写一个脚本,它将使用Docker API。它将与运行在主机上的Docker引擎通信。我不想安装整个Docker到我的映像,只是CLI,然后使用主机网络与Docker引擎通信。我的脚本将运行docker image inspect someiamge之类的命令
docker image inspect someiamge
xeufq47z1#
你可以使用docker的二进制发行版,它可以从here下载,你可以在那里得到docker客户端二进制文件。下面是从二进制文件安装docker的documentation。只需跳过启动docker引擎的部分,并确保您的docker客户端指向正确的远程引擎(mounting /var/run/docker.sock)
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体系结构。
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。
2条答案
按热度按时间xeufq47z1#
你可以使用docker的二进制发行版,它可以从here下载,你可以在那里得到docker客户端二进制文件。
下面是从二进制文件安装docker的documentation。只需跳过启动docker引擎的部分,并确保您的docker客户端指向正确的远程引擎(mounting /var/run/docker.sock)
83qze16e2#
我考虑使用docker image来提取CLI客户端。
停靠文件示例
稍后您可以通过以下命令使用此图像
这有一个很大的缺点。Docker映像不支持
linux/arm/v7
体系结构。最好使用SDK。