zoukankan      html  css  js  c++  java
  • 树莓派上 Docker 的安装和使用

    Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,容器性能开销极低。这对树莓派非常有用,本教程将介绍 Docker 这个工具以及如何在 Raspbian 上安装 Docker。

    Docker 的应用场景

    Web 应用的自动化打包和发布。
    自动化测试和持续集成、发布。
    在服务型环境中部署和调整数据库或其他的后台应用。
    从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

    Docker 的优点

    Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。方便快捷已经是 Docker 的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

    这里介绍两种安装 Docker 的方法,最简单的是直接从 get.docker.com 下载安装脚本并开始安装。仅需执行下面一行命令即可。经测试,树莓派3B、3A+、3B+ 均可支持 Docker,树莓派 Zero 虽然可以安装成功,但无法启动 Docker 服务

    安装方法一(脚本安装)

    脚本安装是最推荐的方式,只需要输入下面的命令,等待自动安装好即可。

    1
    sudo curl -sSL https://get.docker.com | sh

    如果采用这一步安装成功,可直接跳到下文的图形界面安装那里继续阅读。

    安装方法二(apt 安装)

    由于 Raspbian 基于 Debian,我们还可以使用 apt 来安装 Docker,首先需要更新一下软件包的索引。

    1
    sudo apt-get update

    安装 HTTPS 所依赖的包

    1
    2
    3
    sudo apt-get install apt-transport-https
                           ca-certificates
                           software-properties-common

    添加 Docker 的 GPG key

    1
    curl -fsSL https://yum.dockerproject.org/gpg | sudo apt-key add -

    验证 key id:

    1
    apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D

    设置稳定的 repository:

    1
    2
    3
    4
    sudo add-apt-repository
           "deb https://apt.dockerproject.org/repo/
           raspbian-$(lsb_release -cs)
           main"

    注意:如果 add-apt-repository 命令遇到问题,可以尝试将下面这行添加到树莓派软件源 sources.list,操作如下:

    1
    sudo nano /etc/apt/sources.list

    添加一行:

    deb https://apt.dockerproject.org/repo/ raspbian-RELEASE main

    根据自己系统版本调整上面的 RELEASE。通过下面的命令可以查看发行版。

    1
    lsb_release -cs

    安装 Docker

    1
    2
    sudo apt-get update
    sudo apt-get -y install docker-engine

    测试 Docker

    运行 hello-world 镜像来做一个测试。

    1
    sudo docker run hello-world

    如果 Docker 安装成功,你会看到一条消息:“Hello from Docker!”。

    常用配置和工具命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #查看 Docker 版本
    docker -v
    sudo docker pull 仓库/镜像:版本(留空的话默认为 latest)
    sudo docker run 加参数,用来创建容器
    #查看运行容器
    sudo docker ps
    #查看所有下载的镜像
    sudo docker images
    #进入容器终端
    sudo docker exec -i -t ha /bin/bash
    #实时查看10行的 ha 日志
    sudo docker logs -f -t --tail 10 ha
    #重启 systemctl 守护进程
    sudo systemctl daemon-reload
    #设置 Docker 开机启动
    sudo systemctl enable docker
    #开启 Docker 服务
    sudo systemctl start docker
     
    #下载 Docker 图形化界面 portainer
    sudo docker pull portainer/portainer
    #创建 portainer 容器
    sudo docker volume create portainer_data
    #运行 portainer
    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



    在图形化界面中操作更加便利。运行之后在浏览器中输入树莓派IP:9000 进入界面。

    首次访问需要设定登录密码。

    对于树莓派上的应用,选择 Local 就好。

    在控制台可以看到 Docker 的各种资源信息。

    相关链接

    Docker 官网:http://www.docker.com
    Github Docker 源码:https://github.com/docker/docker
    Docker 商店:https://store.docker.com
    Docker 文档:https://docs.docker.com

    出处:http://shumeipai.nxez.com/2019/05/20/how-to-install-docker-on-your-raspberry-pi.html

  • 相关阅读:
    STM32 F4 DAC DMA Waveform Generator
    STM32 F4 General-purpose Timers for Periodic Interrupts
    Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式
    Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块
    查看SQL Server服务运行帐户和SQL Server的所有注册表项
    Pycharm使用技巧(转载)
    SQL Server 2014内存优化表的使用场景
    Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和输入流 捕获sys.exit()调用 optparse argparse
    Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数
    Python第六天 类型转换
  • 原文地址:https://www.cnblogs.com/mq0036/p/11129332.html
Copyright © 2011-2022 走看看