cc852e5c7e2769d80bdf0969c2763739.png

来源:公众号【鱼鹰谈单片机】

作者:鱼鹰Osprey

ID   :emOsprey

本方法适合树莓派5,ubuntu,其他未测试过,方法是类似的,并添加目前可用镜像源。

安装 docker 软件

# 如果以前安装了 docker, 需要卸载 
sudo apt remove docker docker-engine docker.io containerd runc
# 安装依赖
sudo apt -y install ca-certificates curl gnupg lsb-release
# 添加秘钥,返回 OK
sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/gpg | sudo apt-key add
# 添加国内源
# 根据 uname -m 结果,aarch64 (即树莓派5)修改为 [arch=arm64]
# 根据 uname -m 结果,x86_64,修改为 [arch=amd64]
sudo echo "deb [arch=arm64] http://mirrors.aliyun.com/docker-ce/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]') $(lsb_release -cs) stable" >> /etc/apt/sources.list
# 或者使用自动化命令
sudo bash -c "echo \"deb [arch=$(uname -m | awk '{if ($0 == "x86_64") print "amd64"; else if ($0 == "aarch64") print "arm64"; else print $0}')] http://mirrors.aliyun.com/docker-ce/linux/$(lsb_release  -is | tr '[:upper:]' '[:lower:]') $(lsb_release -cs) stable\" >> /etc/apt/sources.list"
# 或者 x64 ubuntu 下使用命令,注意,该命令在树莓派系统下会执行失败
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 更新软件列表,如果报错,查看是否是新加入的源报的错,如果不是,不用管
sudo apt update
# 安装软件
sudo apt -y install docker-ce docker-ce-cli containerd.io
# 启动软件(安装完应该自动会执行,可不需要)
systemctl start docker
# 给当前用户添加权限,这样以后不需要使用 sudo 执行docker 命令
sudo usermod -aG docker $USER
# 退出系统重新登录,或者切换当前用户
su $USER

镜像源更换

# 由于镜像源被墙,需要修改镜像源,这些源可以也会失效,需要从网上搜索可用源
sudo vim /etc/docker/daemon.json
#############################
{
    "registry-mirrors": [
        "https://dockerhub.icu",
        "https://hub.uuuadc.top", 
        "https://docker.anyhub.us.kg", 
        "https://dockerhub.jobcher.com",  
        "https://docker.ckyl.me", 
        "https://docker.awsl9527.cn"
    ]
}
# 或者使用命令行直接修改(全部复制,这个源目前有效)
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": ["https://dockerhub.icu"]
}
EOF
# 确认源是否修改成功
cat /etc/docker/daemon.json
# 一定要重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker

获取镜像

# 查看当前镜像,确定是否可以不使用 sudo 执行 docker 命令
docker images


# 下拉镜像
docker pull ubuntu:18.04
# 进入容器
docker run -it ubuntu:18.04

查看当前镜像,只有 57M 大小

75a2e7b344a5535404f6cf74cf4f0cdf.png

树莓派成功进入容器(@后面的是容器 ID):

e81410f4e7e2d022e0191d9c2b7904c2.png

查看容器系统版本

a766f1947c702b9e57027f9466f46d61.png

查看架构为 aarch64:

705d1671cf111fd1d2f83926c784dba9.png

容器内更新软件列表(有可能需要更新软件源,速度更快)

88050c9f77bbb24c4390edd088c8a792.png

容器内安装软件 vim gcc 等

eb26eaddcf89803172434023d40d9ec0.png

查看gcc 版本

6485f7cb723440c0c39d84e2fb213e67.png

查看所有存在的容器

4ab31e0ce2d31f75a8ebcb11085e8dc4.png

查看资源占用 docker stats:

7f5bcbf74140c80bb4322b4eb3567d35.png

可以编译代码了,赶紧用起来吧

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐