树莓派入门之docker安装

前言

  • docker的存在和丰富的社区资源,极大的方便了困扰我们的环境配置问题,用起来很舒服
  • 若对docker没有概念的可以百度或Google,了解一下,此文只介绍docker在树莓派上的安装。

配置docker

1、安装docker

  • 树莓派有两种安装方式,一种是简单的脚本安装,一种是从docker官网安装(推荐脚本安装)
  • 脚本福利(树莓派提供了方便的脚本以便于大家快速搭建docker)命令行输入后等待完成就好
$ curl -sSL https://get.docker.com | sh
  • 通用步骤(其他发行版也通用,只要替换参数即可)所有复制的代码,记得把反斜杠后面的空格去除!!
  • 更新软件包

    $ sudo apt-get update
  • 下载相关软件

    $ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg2 \
    software-properties-common
  • 加入仓库钥匙(其他发行版就替换raspbian为其他发行版 例如centos)

    $ curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add -
  • 添加docker客户端仓库,其中有两点要注意,X86平台和arm平台仓库不同,如果一个大更新出来,stable稳定版可能会没有,具体参考docker docs

    $ echo "deb [arch=armhf] https://download.docker.com/linux/raspbian \
    $(lsb_release -cs) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list
  • 再次更新软件列表

    $ sudo apt-get update
  • 下载docker-ce(社区免费版)

    $ sudo apt-get install docker-ce
  • 通过两种方法的任意一种,完事后可以用如下第一行命令行确认版本,会返回类似第二行的信息
$ sudo docker --version
$ Docker version 18.06.1-ce, build e68fc7a

2、docker更换国内源

  • 创建一个json文件并写入镜像仓库
$ sudo nano /etc/docker/daemon.json #文件不存在则会被创建,将下面文本写进,然后保存退出
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
  • 重启docker并常驻服务
$ sudo systemctl restart docker.service 
$ sudo systemctl enable docker.service

3、安装docker图形化UI

  • 输入命令行等待下载
$ sudo docker pull portainer/portainer
  • 输入命令行创建UI容器
$ sudo docker volume create portainer_data
$ sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
  • 在图形化界面中,可以轻松的可视化管理和构建容器,肥肠方便。上述UI容器创建并运行,可以在浏览器中输入树莓派IP:9000 ,来进入界面,第一次进入需要设置帐号密码,要记住哦!! 然后选择local(本地),其他两个不符合我们的场景。

4、docker常用命令行

  • 容器名以ha为例
$ sudo docker pull 仓库/镜像:版本(不写默认latest)
$ sudo docker run 加一堆参数,用来创建容器
$ sudo docker ps #查看运行容器
$ sudo docker images #查看所有下载的镜像
$ sudo docker exec -i -t ha /bin/bash #进入容器终端
$ sudo docker logs -f -t --tail 10 ha #实时查看10行的ha日志

完成上述步骤,docker就可以在树莓派中顺利工作!!