是否可以只安装docker cli而不是守护进程

Zur*_*iar 43 docker

我想让docker CLI连接到远程守护进程但我是否需要在本地机器上安装包括守护进程在内的整个引擎?

Aar*_*n V 68

首先,下载并解压缩/解压缩系统的版本.这是用于mac,linux,windows的 x86_64二进制文件.

展开存档后,您可以找到docker CLI可执行文件./docker/docker- 将该文件移动到您的路径中,然后就完成了.

如果您特别希望将docker CLI安装到docker镜像中,请执行以下命令:Dockerfile命令:

ENV DOCKERVERSION=18.03.1-ce
RUN curl -fsSLO https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKERVERSION}.tgz \
  && tar xzvf docker-${DOCKERVERSION}.tgz --strip 1 \
                 -C /usr/local/bin docker/docker \
  && rm docker-${DOCKERVERSION}.tgz
Run Code Online (Sandbox Code Playgroud)

没有评论

  • 您只需指定要提取的文件的路径,就可以从* .tar存档中提取单个文件。这样,您不必移动文件。要直接提取`docker`二进制文件,请使用`tar xzvf docker-$ {DOCKERVERSION} .tgz --strip = 1 -C / usr / local / bin docker / docker`,其中`strip = 1`剥离第一个路径组件( docker文件夹)并有效地展平提取的文件。有关更多详细信息,请参见https://superuser.com/questions/71846/tar-extract-discarding-directory-structure。 (3认同)

Hao*_*ang 15

如果你想在Linux中安装Docker,那么在最新的1.12.0版本中,Docker守护程序和Docker客户端都在单独的二进制文件中.

这已在发布日志中提及:

将二进制文件拆分为两个:docker(客户端)和dockerd(守护进程)#20639

如果您在Mac中安装Docker,则Mac OS二进制文件仅限客户端:资源


Ada*_*her 11

在 Windows 上,您可以使用Chocolatey 包管理器自行安装 CLI 。

一旦你加载了 Chocolatey,你就可以从管理命令提示符运行它:

choco install /y docker-cli
Run Code Online (Sandbox Code Playgroud)

由于某种原因,这似乎比 Aaron 提供的 Windows 链接更新得多。(截至 2020 年 1 月,v19 取代 v17)


Apo*_*ian 8

如果您按照这些说明中所述从官方软件包存储库安装 docker ,则可以简单地安装该软件包并省略和 的docker-ce-cli安装。docker-cecontainerd.io

完整安装顺序(对于 Ubuntu):

sudo apt-get update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

# Here is the part that is different
sudo apt-get install docker-ce-cli
Run Code Online (Sandbox Code Playgroud)


chu*_*lit 6

添加到 Aaron 的方法中,如果您正在构建自己的图像,您现在可以使用多阶段构建docker从现有的外部图像复制二进制文件,例如:

COPY --from=docker:dind /usr/local/bin/docker /usr/local/bin/
Run Code Online (Sandbox Code Playgroud)

这会dockerDockerhub 上的公共docker:dind映像中提取二进制文件 。

请参阅:https : //docs.docker.com/develop/develop-images/multistage-build/


sta*_*fry 5

您可以(如其他答案所示)直接从Docker下载:

docker_url=https://download.docker.com/linux/static/stable/x86_64
docker_version=18.03.1-ce
curl -fsSL $docker_url/docker-$docker_version.tgz | \
tar zxvf - --strip 1 -C /usr/bin docker/docker
Run Code Online (Sandbox Code Playgroud)

与其他答案的区别在于,没有中间的tar文件。我在Dockerfile RUN层中使用它。