code-server以访问宿主机的Docker环境部分内容使用gpt生成,但经过测试可用。
要在code-server容器内部安全地管理和访问宿主机的Docker环境(主要是为了访问宿主机的texlive),遵循以下步骤能够确保流畅的集成和操作,同时维护安全性。
docker.sock以共享Docker守护进程docker.sock创建code-server容器时,通过映射/var/run/docker.sock来允许容器访问宿主机的Docker守护进程,其他必要内容自己补充:
docker run -d -v /var/run/docker.sock:/var/run/docker.sock --name code-server code-server-image
在code-server容器内部执行以下命令安装Docker客户端:
sudo apt-get update
sudo apt-get install -y docker.io
安装Docker插件后,如果遇到权限问题(permission denied),通常是因为code-server运行的用户没有访问/var/run/docker.sock的权限。
首先,查找宿主机上docker组的GID:
grep docker /etc/group
然后,在容器内以相同GID创建docker组,并将用户添加到该组,这里我的用户为abc:
sudo groupadd -g [GID] docker
sudo usermod -aG docker abc
重启code-server或容器以应用更改。然后,测试Docker命令以确认配置成功:
docker run hello-world
在code-server中安装docker插件,也可以正常显示docker了

code-server容器。通过遵循这些步骤,你可以在code-server容器内安全高效地访问和管理宿主机的Docker环境,无论是进行开发工作,还是操作其他容器,都能确保流程的顺畅和安全。