Ch3nyang's blog

home

home

person

about

hive

project

collections_bookmark

mindclip

rss_feed

rss

树莓派安装使用

calendar_month 2023-04
archive 硬件
tag raspberry-pi tag docker

记录树莓派安装的步骤。我白嫖的舍友的树莓派 4B。

Location of connectors and main ICs on Raspberry Pi 4

Raspberry Pi OS 安装

我由于没有 micro HDMI 的线材,打算直接使用无界面安装。

现在的树莓派安装很简单了,只需要一张 SD 卡,插在自己电脑上。访问 树莓派官网,选择下载Raspberry Pi Imager 并安装。打开后,选择需要的系统(正常选带桌面的版本以备不时之需),以及要安装的位置。

这里需要注意的是,选择了系统后,你需要点击右下角的设置按钮,进行一些基本设置,包括:

  • 主机名;
  • 开启 SSH,并设置好用户名密码;
  • 用自己的电脑开启热点,并把热点信息填到配置 Wifi 中去。

然后搞笑的事情来了,我电脑开的热点根本连不上——不管是树莓派还是我的手机。经过一番探索我发现了两个要点:

  • 我的电脑连接的是无线网,要想把这个无线网再分享出去,需要进入控制面板网络和Internet网络和共享中心,点击无线网,进入属性界面。在 Internet 连接共享中,把共享打开,分享给我们的热点网络;
  • 树莓派似乎不支持 5GHz 网络,我们需要在热点界面手动设置为 2.4GHz。

搞完之后就可以把系统写入 SD 卡了,建议开个梯子,这样下载速度会快得多。

一切就绪后,把 SD 卡插入树莓派,然后接上电源,稍等几秒。当看到树莓派连接上热点的时候就表面开机成功了。这时候在电脑上可以看到树莓派的 IP:

raspberrypi2

例如我这里就是 192.168.137.53

接下来,我们使用 SSH 连接树莓派:

ssh -p 22 用户名@192.168.137.53

这里的用户名替换成你自己的用户名,然后会提示你输入密码。SSH 和 shell 不过多阐述,如果这个不熟悉,建议先开个 Linux 虚拟机玩玩,熟悉了再来整树莓派。

Docker 安装

我们利用镜像拉取 docker 并使用脚本安装。为了加快速度,我们使用了阿里云镜像:

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

安装完成后启动 docker:

sudo systemctl enable docker
sudo systemctl start docker

为了避免每次使用 docker 都需要 root 权限,我们新建 docker 用户组,并且把需要使用 docker 的用户(也就是当前用户)加入组:

sudo groupadd docker
sudo usermod -aG docker $USER

接下来配置国内镜像。查看下面的文件;

sudo touch /etc/docker/daemon.json
sudo nano /etc/docker/daemon.json

输入以下内容:

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

完成后重启 docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

现在,我们检查一下 docker 是否正常运行。我们退出 SSH 并重进,然后检查下面命令的输出是否一致:

$ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
04341b189be6: Pull complete
Digest: sha256:4e83453afed1b4fa1a3500525091dbfca6ce1e66903fd4c01ff015dbcb1ba33e
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.
    (arm32v7)
 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 image ls
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    7066d68bd2f2   3 months ago   4.85kB
$ docker image rm hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:4e83453afed1b4fa1a3500525091dbfca6ce1e66903fd4c01ff015dbcb1ba33e
Deleted: sha256:7066d68bd2f224dbb7c3332da105b1dac81a75b47a869602096c27b6a75a525c
Deleted: sha256:f30f4621b75c25a838c91d0cdd3803b0f2b2d27e048c8101a4669f4df6ba85f1

ngrok 内网穿透

ngrok 官网 注册账号,并获取 token。

下载 arm 版本的安装包并解压

wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-arm.tgz
tar zxvf ngrok-v3-stable-linux-arm.tgz
rm ngrok-v3-stable-linux-arm.tgz

注意,这个网址是会变的,请以官网为准。

然后设置 token

$ ./ngrok config add-authtoken 你的token
Authtoken saved to configuration file: /home/用户名/.config/ngrok/ngrok.yml

这里,把“你的token”更换为注册账号后得到的 token。

启动直接:

./ngrok http 80

Comments

Share This Post