Ubuntu 18.04下Couldn't connect to Docker daemon at http+docker://localunixsocket解决办法
一台服务器系统为:Ubuntu 18.04 LTS,上面建了git裸仓库,用于开发吧代码push到这里。同时WEB测试环境通过docker也部署在这台。通过git钩子post-receive,当有新代码提交是,就自动将最新的代码checkout到web测试目录,然后在手动重启容器,让java程序生效。由于代码更新频繁,手动重启太麻烦,就在git钩子post-receive脚本里增加了docker-compose restart的代码,然后提交代码是就会出现下面的错误:
remote: Couldn't connect to Docker daemon at http+docker://localunixsocket - isit running?
remote: If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
post-receive的脚本如下:
#!/bin/sh WEBDIR=/data/webroot /usr/bin/git --work-tree=${WEBDIR} clean -fd /usr/bin/git --work-tree=${WEBDIR} checkout --force #sudo chown -R www:www ${WEBDIR} /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账号下运行的,于是:
usermod -aG docker git
把git用户加入到docker组,再次提交更行代码,容器可以自动重启了。
还有一种方法是修改docker daemon使用TCP协议启动:
find / -name docker.service
使用find找到docker.service 文件 /lib/systemd/system/docker.service
vim /lib/systemd/system/docker.service
在 ExecStart=/usr/bin/dockerd 后面加入 -H tcp://127.0.0.1:4243,保存后
systemctl daemon-reload systemctl restart docker.service
重启docker daemon,通过ss可以看到已经监听4243端口
root@docker:/# ss -atol State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 127.0.0.1:4243 0.0.0.0:* LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:* LISTEN 0 128 0.0.0.0:28022 0.0.0.0:* LISTEN 0 5 127.0.0.1:ipp 0.0.0.0:* LISTEN 0 128 [::]:28022 [::]:* LISTEN 0 5 [::1]:ipp [::]:*
同时需要设置环境变量$DOCKER_HOST。
$vim ~/.bashrc export DOCKER_HOST=tcp://localhost:4243
这样就可以了
转载于:https://www.cnblogs.com/zheng-wei/p/10517355.html
Ubuntu 18.04下Couldn't connect to Docker daemon at http+docker://localunixsocket解决办法相关推荐
- 网易云音乐ubuntu 18.04下无法打开的解决办法
为什么80%的码农都做不了架构师?>>> 网易云音乐ubuntu 18.04下无法打开的解决办法 网易云音乐在ubuntu18.04下无法打开,即显示不了界面,主要是因为环境变 ...
- Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换
关注公众号 风色年代(itfantasycc) 领 500G Java 微服务 开发资料 Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换_Linux教程_Linux公社-L ...
- 在双GPU(核显+NVIDIA)计算机中正确安装Ubuntu 18.04下的NVIDIA驱动程序(解决循环登录等问题)
目录 前三次安装:各种坑 第一次安装:CUDA可用,但无法启动Steam 第二次安装:遇到循环登录问题 第三次安装:CUDA可用,可以启动Steam,但3D性能差 第四次安装:CUDA可用,Steam ...
- Ubuntu 18.04下搜狗拼音输入法选词面板乱码问题(通过更换输入法版本完美解决,一劳永逸)
Ubuntu 18.04下搜狗拼音输入法选词面板乱码问题(通过更换输入法版本完美解决,一劳永逸) 卸载已安装的搜狗拼音输入法 安装搜狗拼音输入法,注意版本 卸载已安装的搜狗拼音输入法 卸载已安装的输入 ...
- Ubuntu 18.04 下wine的安装以及wine-mono, wine-gecko 的安装
Ubuntu 18.04 下wine的安装以及wine-mono, wine-gecko 的安装 deepin-wine 的安装 安装方法: 问题汇总: wine 的安装 安装方法: 问题汇总: 因为 ...
- 本地搭建Wooyun漏洞库(二)——Ubuntu 18.04下搭建WooYun漏洞库
本文参考https://github.com/grt1st/wooyun_search 这篇文章是建立在已经搭建好LAMP环境的基础上进行的,搭建方法可见:本地搭建Wooyun漏洞库(一)--Ubun ...
- Ubuntu 18.04 下多显卡超频设置
Ubuntu 18.04 下多显卡超频设置 环境:ubuntu 18.04 nvidia-A2000 * 6 步骤1: 正常安装ubuntu 18.04 打开(软件和更新)的(附加驱动)并勾选: (n ...
- ORBSLAM2 安装与运行(Ubuntu 18.04下测试)
ORBSLAM2 安装与运行(Ubuntu 18.04下测试) 依赖项 Pangolin github地址:https://github.com/stevenlovegrove/Pangolin.gi ...
- ROCm与tensorflow在ubuntu 18.04下的安装教程
ROCm与tensorflow在ubuntu 18.04下的安装教程 本来准备买Nvidai的显卡,可是囊中羞涩再加上听说AMD的卡也能使用tensorflow进行深度学习加速了,所以1149 ...
最新文章
- java layoutinflater_LayoutInflater(布局服务)
- github:已经提交并push后再次追加提交
- ant的if-else
- css 相对单位rem详解
- 【java】二维数组的应用
- 如何直接删除mysql中的重复数据_如何删除mysql数据库中重复的数据(部分重复)?...
- vscode如何设置大小写转换的快捷键
- 中奖记录html页面,微信小程序 中奖纪录列表滚动
- 三元运算 微信小程序_微信小程序使用三元运算符代替wx:if
- pandas中的concat操作
- zookeeper节点创建
- Java进行数据统计分析
- 计算机等级考试17周岁能考吗,他,8岁计算机过二级,16岁被保送清华,信息类竞赛大奖拿到手软...
- 字符取模 linux 软件,字符取模显示原理
- 第三章 事物的联系,发展及其规律
- 天正服务器不显示,天正菜单无法显示怎么办?
- 完全用 Linux 工作
- 推荐计算机科学类的经典书籍 (转)
- vue发布订阅模式,发布订阅模型
- 鼎信goip对接VOS指南
热门文章
- cpu 被挂起和阻塞_同步异步阻塞非阻塞并发并行讲解
- 35岁以上还没结婚的男女们,过的如何?
- 事业编前提下,在一个大单位工作好还是在一个小单位工作好?
- 退休是否需要等到对应日再进行办理?
- 给大家讲一个被社区团购小程序套路的经历吧
- 传统企业是滚雪球逻辑
- In this way, Wang Xing became Li Xiang’s closest
- 交叉编译iptables1.4.12的问题
- druid连接池mysql自动关闭_探究Druid连接池“违反协议”异常
- sql脚本导入sql_学习SQL:SQL脚本