我在Docker容器中运行Jenkins。
我使用以下命令启动容器-
docker run -p 8080:8080 -p 50000:50000 -v "${PWD}:/var/jenkins_home" -v /var/run/docker.sock:/var/run/docker.sock aemdesign/jenkins
通知-v /var/run/docker.sock:/var/run/docker.sock
-我这样做是为了使我可以根据this文章从Jenkins中访问docker守护程序。
我使用cd
{p}进入jenkins容器
然后我运行docker exec -it <mycontainer> bash
,但仍然出现docker command not found错误。
我在网上做了更多研究,发现了有关Jenkins的docker插件,并将其配置为连接到docker守护程序。我收到以下错误
我想念什么吗?我该如何解决这个问题?请注意,我是在MAC机器上本地进行的。
答案 0 :(得分:1)
invariant.js:42 Uncaught Invariant Violation: Provider.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.
at invariant (http://localhost:3000/static/js/bundle.js:12594:16)
at ReactCompositeComponentWrapper._renderValidatedComponent (http://localhost:3000/static/js/bundle.js:28633:112)
at ReactCompositeComponentWrapper.performInitialMount (http://localhost:3000/static/js/bundle.js:28164:31)
at ReactCompositeComponentWrapper.mountComponent (http://localhost:3000/static/js/bundle.js:28060:22)
at Object.mountComponent
,这仅表示您的容器具有访问主机上的-v /var/run/docker.sock:/var/run/docker.sock
的能力,并不意味着您的容器将具有docker daemon
。
您可以使用docker client
将-v $(which docker):/usr/bin/docker
添加到您的容器中,然后您将找到命令。
docker client
如果您想保留詹金斯用户,这是另一种方法。
docker run -u root -p 8080:8080 -p 50000:50000 -v $(which docker):/usr/bin/docker -v "${PWD}:/var/jenkins_home" -v /var/run/docker.sock:/var/run/docker.sock aemdesign/jenkins