Docker环境编译时的错误记录

本文介绍了Docker在使用过程中常见的几个错误及其解决方法,包括连接Docker守护进程失败、缺少docker-runc组件、官方镜像访问超时及Python依赖库问题。

 

1)报错一
docker-compose -f compose/app.yaml -f compose/backend.yaml -f compose/proxy.yaml build peatio barong
ERROR: Couldn't connect to Docker daemon at http://localhost:4243 - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
make: *** [build] Error 1

解决办法:

1)查看配置文件
[root@docker-server ~]# systemctl show docker | grep FragmentPath=
FragmentPath=/usr/lib/systemd/system/docker.service

然后修改/lib/systemd/system/docker.service文件
[root@docker-server ~]# cp /lib/systemd/system/docker.service /lib/systemd/system/docker.service.bak
[root@docker-server ~]# vim /lib/systemd/system/docker.service
.......
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:4243                  #添加这一行
#ExecStart=/usr/bin/dockerd-current \                                                            #注释掉默认的这一行
          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \        
          --default-runtime=docker-runc \
          --exec-opt native.cgroupdriver=systemd \
          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
          --seccomp-profile=/etc/docker/seccomp.json \
          $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY \
    $REGISTRIES

2)修改/etc/default/docker文件
[root@docker-server ~]# cp /etc/default/docker /etc/default/docker.bak
[root@docker-server ~]# vim /etc/sysconfig/docker
......
DOCKER_OPTS="-H tcp://localhost:4243 -H unix:///var/run/docker.sock"          #添加这一行

3)DOCKER_HOST的环境变量设置
[root@docker-server ~]# vim ~/.bashrc 
........
export DOCKER_HOST=tcp://localhost:4243

4)重启docker服务
[root@docker-server ~]# systemctl daemon-reload
[root@docker-server ~]# systemctl restart docker

5)检查发现4243端口已启动
[root@docker-server ~]# netstat -ant
.......
tcp6       0      0 :::4243                 :::*                    LISTEN     
[root@docker-server ~]# lsof -i:4243
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dockerd-c 15400 root    6u  IPv6  59175      0t0  TCP *:4243 (LISTEN)

2)报错二
ERROR: Service '****' failed to build: shim error: docker-runc not installed on system

解决办法

[root@docker-server ~]# cd /usr/libexec/docker/
[root@docker-server ~]# ll
total 7384
-rwxr-xr-x 1 root root  820472 Mar  8 01:07 docker-init-current
-rwxr-xr-x 1 root root 1687304 Mar  8 01:07 docker-proxy-current
-rwxr-xr-x 1 root root 5047808 Mar  8 01:07 docker-runc-current
[root@docker-server ~]# ln -s docker-runc-current docker-runc
[root@docker-server ~]# ll
total 7384
-rwxr-xr-x 1 root root  820472 Mar  8 01:07 docker-init-current
-rwxr-xr-x 1 root root 1687304 Mar  8 01:07 docker-proxy-current
lrwxrwxrwx 1 root root      19 May 12 01:07 docker-runc -> docker-runc-current
-rwxr-xr-x 1 root root 5047808 Mar  8 01:07 docker-runc-current

3)报错三:docker官方镜像无法访问问题,访问超时!

在配置docker稳定存储库时,发现网络超时!
[root@workbench-test ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 12] Timeout on 
https://download.docker.com/linux/centos/docker-ce.repo: (28, 'Operation timed out after 30001 milliseconds with 0 out of 0 bytes received')

或者使用"yum install docker-ce"安装的时候,也是报错:
https://download.docker.com/linux/centos/7/x86_64/stable/repodata/repomd.xml: [Errno 12] Timeout on https://download.docker.com/linux/centos/7/
x86_64/stable/repodata/repomd.xml: (28, 'Operation timed out after 30001 milliseconds with 0 out of 0 bytes received')

解决办法:
由于国内访问不到docker官方镜像的缘故,可以通过aliyun的源来完成!
[root@workbench-test ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

再次配置docker文档存储库就OK了
[root@workbench-test ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

再次安装docker-ce就可以了
[root@workbench-test ~]# yum install docker-ce

4)报错ImportError: No module named 'requests.packages.urllib3'

解决办法:安装 Requests
[root@workbench-test ~]# git clone git://github.com/kennethreitz/requests.git
[root@workbench-test ~]# cd requests
[root@workbench-test ~]# pip install .

5)报错:ImportError: cannot import name UnrewindableBodyError

解决办法:重装 urllib3 库
[root@workbench-test ~]# pip uninstall urllib3
[root@workbench-test ~]# pip install --upgrade urllib3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值