0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Debian 10上安装Docker?

启扬ARM嵌入式开发 2022-08-23 10:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,运行这个容器,程序在这个容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

Docker 的主要用途,目前有三大类。

(1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。

(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。

(3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

安装前检查和准备

Docker安装依赖于iptables,首先确保开发板中的iptables命令正常可用。

在使用过程中可能会碰到iptables报错,由于docker是用iptables初始化NAT网络,而Debian buster使用 nftables 而不是 iptables,导致dockerd不能正常完成NAT初始化,出错退出。

处理方法是调用update-alternatives强制Debian用iptables而不是nftables。

# for ipv4
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
# for ipv6
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

此外开发板可能已经安装有docker,所以在安装过程中会报错,这个时候就需要将旧版本的docker先卸载再安装。

卸载旧版本docker命令:

sudo apt-get remove docker docker-ce docker-engine docker.io containerd runc

安装步骤

5264a988-21ca-11ed-9ade-dac502259ad0.png

1

安装依赖环境

安装docker之前需要先安装docker所依赖的环境,这样安装docker的时候才不会报错。

 sudo apt-get update
 sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

2

添加 Docker 的官方 GPG 密钥

在docker下载的过程中,需要使用到GPG密钥,使用curl命令来添加GPG密钥。

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

注意

在这个过程中可能会碰到curl报错,需要下载curl证书,

从这个地址:https://curl.se/docs/caextract.html 下载cacert.pem,再将这个文件添加至环境变量(注意路径),就可以执行上述命令了。

wget https://curl.se/ca/cacert.pem

export CURL_CA_BUNDLE=/root/cacert.pem

3

设置官方源

在debian中是通过源来管理软件包的,通过如下命令可以添加官方源,以便于下载的docker和开发板的debian版本相对应。

 echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4

安装docker-ce

通过下面命令就可以安装docker-ce了。

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

或者出于稳定性的要求,需要安装特定版本的docker-ce。

首先使用命令检查存储库内可用的旧版本

apt-cache madison docker-ce

通过下面命令可以安装旧版本,将修改为特定版本名,例如:5:18.09.1~3-0~debian-stretch。

sudo apt-get install docker-ce=docker-ce-cli=containerd.io docker-compose-plugin

5

安装完成后检查

最后使用下面命令检查docker是否安装成功。

docker version

当安装成功之后可以看到client和server两条信息,如果没有 Server: Docker Engine - Community信息则表示安装失败。

529037e2-21ca-11ed-9ade-dac502259ad0.png


这样,开发板的docker就安装成功了,接下来就可以就可以使用容器来运行你想要的程序啦。

END

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Docker
    +关注

    关注

    0

    文章

    526

    浏览量

    14013
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    何在NVIDIA Jetson AGX Thor通过Docker高效部署vLLM推理服务

    继系统安装与环境配置后,本期我们将继续带大家深入 NVIDIA Jetson AGX Thor 的开发教程之旅,了解如何在 Jetson AGX Thor ,通过 Docker 高效
    的头像 发表于 11-13 14:08 3013次阅读
    如<b class='flag-5'>何在</b>NVIDIA Jetson AGX Thor<b class='flag-5'>上</b>通过<b class='flag-5'>Docker</b>高效部署vLLM推理服务

    创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—Docker容器部署方法说明

    本文围绕创龙科技研发的评估板,详细说明 Docker 容器部署方法,包括 Docker 架构介绍、安装步骤(依赖包安装、GPG 密钥添加等)、本地镜像仓库搭建,以及单个 / 多个镜像的
    的头像 发表于 10-22 17:21 545次阅读
    创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—<b class='flag-5'>Docker</b>容器部署方法说明

    【HZ-T536开发板免费体验】Docker 环境安装及应用

    一、检查 Docker 安装状态 板子提示“command not found”或无版本信息,说明 Docker安装,如有需要请自行安装
    发表于 09-01 17:59

    【GM-3568JHF开发板免费体验】开发环境安装

    Docker 是一个开源的应用容器引擎,其能够更高效的利用系统资源、保证一致的运行环境,实现持续交付和部署,以及后期更轻松的迁移、维护、扩展。 安装docker 安装
    发表于 08-09 13:37

    迅为RK3576开发板NPUrknn-toolkit2环境搭建和使用docker环境安装

    迅为RK3576开发板NPUrknn-toolkit2环境搭建和使用docker环境安装
    的头像 发表于 06-18 15:22 963次阅读
    迅为RK3576开发板NPUrknn-toolkit2环境搭建和使用<b class='flag-5'>docker</b>环境<b class='flag-5'>安装</b>

    迅为RK3562开发板Debian系统开发安装虚拟键盘

    当我们在使用 debian 系统的时候,如果想要进行输入,无可避免地要外接键盘。当我们的输入量不大的时候可以进行虚拟键盘的安装。具体步骤如下: 首先使用以下命令,对 onboard 虚拟键盘进行安装
    发表于 05-21 11:13

    何在Android设备安装Cyusb3014芯片驱动?

    1.如何在Android设备安装Cyusb3014芯片驱动? 我们在 Windows 上有 FX3 驱动程序 SDK。 2.如何在Android系统上下载固件到芯片中?
    发表于 05-15 07:23

    何在Ubuntu安装NVIDIA显卡驱动?

    专有显卡驱动。本文将详细介绍在Ubuntu系统安装NVIDIA显卡驱动的多种方法,帮助用户根据自身情况选择最适合的安装方式。 二,硬件参数 平台:PX22_GPU CPU:I7-1165G7
    的头像 发表于 05-07 16:05 2058次阅读
    如<b class='flag-5'>何在</b>Ubuntu<b class='flag-5'>上</b><b class='flag-5'>安装</b>NVIDIA显卡驱动?

    何在计算机上安装麒麟操作系统Kylin V10 SP3

    麒麟操作系统 Kylin V10 SP3 是一款基于 Linux 的操作系统,广泛应用于政府、企业和个人用户。本文将详细介绍如何在计算机上安装麒麟操作系统 Kylin V10 SP3,
    的头像 发表于 04-11 15:32 3294次阅读
    如<b class='flag-5'>何在</b>计算机上<b class='flag-5'>安装</b>麒麟操作系统Kylin V<b class='flag-5'>10</b> SP3

    告别复杂的终极指南:如何在树莓派上安装 Manjaro:2024

    如果你想在RaspberryPi上体验ArchLinux,Manjaro可能是你的最佳选择。它基于Arch,但被打包成一个传统的Linux发行版,支持多种桌面环境和架构。让我们来学习如何在RaspberryPi安装它。什么是L
    的头像 发表于 03-25 09:39 1111次阅读
    告别复杂的终极指南:如<b class='flag-5'>何在</b>树莓派上<b class='flag-5'>安装</b> Manjaro:2024

    云服务器 Flexus X 实例,Docker 集成搭建 YesPlayMusic 网易云音乐播放器

    YesPlayMusic 是一款基于 Electron 的开源网易云音乐桌面播放器,以简洁的界面和丰富的功能受到了许多用户的喜爱,特别是对于希望在桌面上享受网易云音乐服务的用户 Docker 安装
    的头像 发表于 01-13 18:17 1070次阅读
    云服务器 Flexus X 实例,<b class='flag-5'>Docker</b> 集成搭建 YesPlayMusic 网易云音乐播放器

    在华为云通过 Docker 容器部署 Elasticsearch 并进行性能评测

    前言   1. 华为云X实例介绍及优势   1.1 柔性算力   1.2 vCPU和内存的灵活配比   1.3 成本效益与性能   2. 安装并运行 Docker   2.1 修改仓库配置文件
    的头像 发表于 01-13 13:36 889次阅读
    在华为云<b class='flag-5'>上</b>通过 <b class='flag-5'>Docker</b> 容器部署 Elasticsearch 并进行性能评测

    云服务器 Flexus X 实例,Docker 集成搭建 NGINX

    Docker 集成搭建 NGINX 1、购买华为云 Flexus X 实例 Flexus云服务器X实例-华为云 (huaweicloud.com)   2、docker 安装 yum install
    的头像 发表于 01-13 11:09 1229次阅读
    云服务器 Flexus X 实例,<b class='flag-5'>Docker</b> 集成搭建 NGINX

    docker通过中间镜像加速部署

    使用 docker 打包镜像的时候, 每次耗费时间最多的就是 docker build 的过程. 特别是对于前端工程的打包, 有时候下载依赖包的时间就要 10 几分钟, 这就导致发布版本的效率极低.
    的头像 发表于 01-06 12:39 846次阅读

    在 Huawei Cloud EulerOS 系统中安装 Docker 的详细步骤与常见问题解决

    前言   1. 安装Docker   1.1 系统更新与依赖安装   1.2 添加华为云Docker仓库   2. 解决仓库配置错误   2.1 手动修改仓库配置文件   2.2
    的头像 发表于 12-26 18:12 2712次阅读
    在 Huawei Cloud EulerOS 系统中<b class='flag-5'>安装</b> <b class='flag-5'>Docker</b> 的详细步骤与常见问题解决