0%

Raspbian 安装最新版 docker

docker

一.问题描述

执行docker pull命令时经常不能pull images,显示如下错误

Could not reach any registry endpoint.

Google后才知道Raspbian中默认安装的docker版本是1.3.3,而docker更新后一些性能不在支持1.5及以下的版本,所以才会出现这样的问题。为了能够正常使用,要更新到较新的版本。

二.安装配置

1.先卸载旧版本的docker

1
$ sudo apt-get remove --purge docker docker-io

2.使用官方脚本安装docker

1
$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

3.为了使用户能够使用docker,把它加入用户组

1
$ sudo usermod -aG docker pi

这样在执行docker命令的时候就不需要加上sudo.
根据系统提示,重新启动系统或者重新登录,便可以正常的使用docker.

4.配置镜像加速器

1
2
3
4
5
6
7
8
$ vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn/",
"https://dockerhub.azk8s.cn"
],
"insecure-registries": []
}

5.限制容器日志的大小

1
2
3
4
5
~$ vim /etc/docker/daemon.json
{
"log-driver":"json-file",
"log-opts": {"max-size":"5m", "max-file":"2"}
}

若不做配置,容器产生的日志会不断增大,可能到几GB,上面配置每个容器最多产生5MB的日志,最多保留2个日志文件。

容器日志清理脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh
# Clean Docker log.

echo "======== start clean docker containers logs ========"

logs=$(find /var/lib/docker/containers/ -name *-json.log)

for log in $logs
do
echo "clean logs : $log"
cat /dev/null > $log
done

echo "======== end clean docker containers logs ========"

执行此脚本,可清理容器产生的日志。

6.有时出了问题,可以卸载重新安装

1
$ sudo apt-get remove --auto-remove docker-engine

三.docker教程参考

Docker —— 从入门到实践

参考:
1.https://www.raspberrypi.org/blog/docker-comes-to-raspberry-pi/
2.Could not reach any registry endpoint

如果对你有帮助,请我喝杯奶茶吧!
pengshp 微信

微信

pengshp 支付宝

支付宝

欢迎关注我的其它发布渠道