首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker:在安装/var/run/docker.sock之后找不到

docker:在安装/var/run/docker.sock之后找不到
EN

Stack Overflow用户
提问于 2019-03-23 15:47:54
回答 1查看 6.9K关注 0票数 4

我试图在容器内使用docker命令。我使用这个命令挂载/var/ run /docker.sock并运行容器

代码语言:javascript
复制
docker run -d --name gitlab-runner --restart always \                                                                  
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest

但是,当我尝试使用容器内的坞(Gitlab)时,会出现一个错误。

代码语言:javascript
复制
docker: not found

主办单位:

代码语言:javascript
复制
srw-rw----  1 root docker    0 Mar 23 15:13 docker.sock

集装箱:

代码语言:javascript
复制
0 srw-rw---- 1 root gitlab-runner    0 Mar 23 15:13 docker.sock

在我删除旧容器并创建新容器之前,这很好,现在我无法在容器中运行docker。请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-23 17:28:27

您应该区分docker守护进程和docker。首先是一个服务,它实际上执行所有的工作构建和运行容器。第二个是可执行文件,用于向守护进程发送命令。

可执行文件(docker )是轻量级的,并且使用/var/run/docker.sock访问守护进程(在默认情况下,实际上有不同的传输)。

使用-v /var/run/docker.sock:/var/run/docker.sock启动容器时,实际上是将主机的停靠守护进程共享到容器中的docker。因此,您仍然需要在容器中安装docker才能使用Docker,但是您不需要在内部设置守护进程(这非常复杂,需要权限模式)。

结论

在容器内安装对接器CLI,共享套接字并享受。但是在使用主机的停靠守护进程时,您可能会混淆绑定挂载卷,因为守护进程看不到容器的内部文件系统。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55315528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档