切换语言
EN CN
论坛首页 / 树莓派开发者 / Raspberry Pi 安装 Docker / 操作系统 / Raspberry Pi 安装 Docker

Raspberry Pi 安装 Docker

EDATEC发布于 2023-02-24
2475 浏览

Docker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,不会再有“在我的环境上可以运行”。

Docker 架构

Docker分三部分:

  • 镜像(Image)
  • 容器(Container): 容器是镜像运行时的实体
  • 仓库(Repository): 镜像管理中心

Docker 使用客户端-服务器 (C/S) 架构模式:

安装

安装APT依赖包:

$ sudo apt-get install ca-certificates curl gnupg lsb-release

添加 Docker 的官方 GPG 密钥:

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

添加Docker官方 APT仓库地址:

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

安装Docker deb包:

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

查看Docker 版本:

pi@raspberrypi:~ $ docker --version
Docker version 23.0.1, build a5ee5b1

操作权限:

pi@raspberrypi:~ $ docker ps -a
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1": dial unix /var/run/docker.sock: connect: permission denied

需要将当前 pi 用户加入到docker组。

pi@raspberrypi:~ $ sudo usermod -aG docker $USER
pi@raspberrypi:~ $ newgrp docker

pi@raspberrypi:~ $ docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

测试:

pi@raspberrypi:~ $ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
7050e35b49f5: Pull complete
Digest: sha256:6e8b6f026e0b9c419ea0fd02d3905dd0952ad1feea67543f525c73a0a790fefb
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm64v8)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

安装docker-compose:

Compose 是GitHub上一个开源项目,地址

安装:

sudo curl -L https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-aarch64 -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

查看版本:

pi@raspberrypi:~ $ docker-compose --version
Docker Compose version v2.16.0


上海晶珩

上海晶珩是树莓派官方设计合作伙伴和官方代理商,专注于推广树莓派技术在多个行业中的应用,并提供专业技术服务,以加速客户产品研发进程。上海晶珩为物联网(IoT)、工业自动化、人工智能(AI)、工业控制等领域提供全面的工业树莓派解决方案和可靠的工业计算机产品。

  • 上海市嘉罗公路1661号盛创企业家园29号楼
  • +86-159 2148 3028
  • sales@edatec.cn
提交您的留言

提示

提交即表示您同意 EDATEC 的隐私政策

请输入验证码

captcha
1.162463s