怎么在容器内部访问宿主的Docker

怎么在容器内部访问宿主的Docker

为什么要在容器内部访问宿主的容器

  • 容器内部需要执行其他容器的操作

  • 例如:有一个做cron的容器,要对其他容器进行备份操作

如何实现

  • 把宿主机器 /var/run/docker.socket 映射到容器

docker run -v /var/run/docker.sock:/var/run/docker.sock ...

  • 在容器内容安装docker-cli

apk add docker-cli

💡注意

  • 由于把宿主机的docker.socket以读写的方式映射到了cron容器,cron容器可以任意操作容器

使用

  • 在容器内部直接执行docker 命令就可以和在宿主机是一样的

  • 例如: docker ps 查看所有运行的容器

# **[怎么在容器内部访问宿主的Docker**](https://www.rstone.com.cn/docs/admin/HG2Qlt/ych2p1?title=%E6%80%8E%E4%B9%88%E5%9C%A8%E5%AE%B9%E5%99%A8%E5%86%85%E9%83%A8%E8%AE%BF%E9%97%AE%E5%AE%BF%E4%B8%BB%E7%9A%84Docker)

## 为什么要在容器内部访问宿主的容器

- 容器内部需要执行其他容器的操作
- 例如:有一个做cron的容器,要对其他容器进行备份操作

## 如何实现

- 把宿主机器 /var/run/docker.socket 映射到容器

`docker run -v /var/run/docker.sock:/var/run/docker.sock ...` 

- 在容器内容安装docker-cli

`  apk add docker-cli` 

## 💡注意

- 由于把宿主机的docker.socket以读写的方式映射到了cron容器,cron容器可以任意操作容器

## 使用

- 在容器内部直接执行docker 命令就可以和在宿主机是一样的
- 例如: docker ps 查看所有运行的容器