我需要分离环境,以便我的团队可以在没有端口冲突的情况下工作。我的想法是使用ubuntu容器运行许多其他容器,并仅映射我们将要使用的端口,而不会发生冲突。
不幸的是,在通过ubuntu容器安装Docker之后,它出现以下错误:
无法通过unix:///var/run/docker.sock连接到Docker守护程序。是 docker守护程序正在运行?
是否可以在容器上使用Docker?这个想法行得通吗?
此外,如果这不是解决原始问题的最佳方法,您能给我一个更好的解决方案吗?
答案 0 :(得分:1)
我认为您必须将docker守护程序绑定到您的Ubuntu容器
-v /var/run/docker.sock:/var/run/docker.sock
或可选地,将official docker image与 DinD 标志(docker中的docker)结合使用,该标志基于Ubuntu 18.09
docker run --privileged --name some-docker -v /my/own/var-lib-docker:/var/lib/docker -d docker:dind
您可以在其他服务容器前面使用reverse proxy
来代替带有docker的ubuntu容器。
答案 1 :(得分:1)
您可以使用kubernetes,为每个开发人员创建多个名称空间。使用nginx和dynamic server_name将url映射到不同的名称空间。