经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
Ubuntu 18.04下Couldn't connect to Docker daemon at http+docker://localunixsocket解决办法
来源:cnblogs  作者:『郑伟』  时间:2019/3/26 8:32:17  对本文有异议

  一台服务器系统为:Ubuntu 18.04 LTS,上面建了git裸仓库,用于开发吧代码push到这里。同时WEB测试环境通过docker也部署在这台。通过git钩子post-receive,当有新代码提交是,就自动将最新的代码checkout到web测试目录,然后在手动重启容器,让java程序生效。由于代码更新频繁,手动重启太麻烦,就在git钩子post-receive脚本里增加了docker-compose restart的代码,然后提交代码是就会出现下面的错误:

  1. remote: Couldn't connect to Docker daemon at http+docker://localunixsocket - isit running?
  2. remote: If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

 post-receive的脚本如下:

  1. #!/bin/sh
  2. WEBDIR=/data/webroot
  3. /usr/bin/git --work-tree=${WEBDIR} clean -fd
  4. /usr/bin/git --work-tree=${WEBDIR} checkout --force
  5. #sudo chown -R www:www ${WEBDIR}
  6. /usr/bin/docker-compose -f /docker-tomcat/docker-compose.yml restart

初看那个错误是提示docker-compose连不上docker daemon,连接docker daemon有两种方式,一种是通过TCP协议,一种是通过unixsocket。docker默认是通过unixsocket来通信的。

我在/var/run目录下找到了docker.sock文件:

原来这个文件的只有root用户和docker组用户可以访问,而我的git钩子是在git账号下运行的,于是:

  1. usermod -aG docker git

把git用户加入到docker组,再次提交更行代码,容器可以自动重启了。

还有一种方法是修改docker daemon使用TCP协议启动:

  1. find / -name docker.service

使用find找到docker.service 文件 /lib/systemd/system/docker.service

  1. vim /lib/systemd/system/docker.service

在 ExecStart=/usr/bin/dockerd 后面加入 -H tcp://127.0.0.1:4243,保存后

  1. systemctl daemon-reload
  2. systemctl restart docker.service

重启docker daemon,通过ss可以看到已经监听4243端口

  1. root@docker:/# ss -atol
  2. State Recv-Q Send-Q Local Address:Port Peer Address:Port
  3. LISTEN 0 128 127.0.0.1:4243 0.0.0.0:*
  4. LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:*
  5. LISTEN 0 128 0.0.0.0:28022 0.0.0.0:*
  6. LISTEN 0 5 127.0.0.1:ipp 0.0.0.0:*
  7. LISTEN 0 128 [::]:28022 [::]:*
  8. LISTEN 0 5 [::1]:ipp [::]:*

同时需要设置环境变量$DOCKER_HOST。

  1. $vim ~/.bashrc
  2. export DOCKER_HOST=tcp://localhost:4243

这样就可以了

 

原文链接:http://www.cnblogs.com/zheng-wei/p/10517355.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号