当前操作在Armbian5.77版本中实测可用,方法出自:【折腾】斐讯N1 安装 Docker + GUI - 木子欢儿 - 博客园

一、Docker 安装

# 自动安装 
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun

# 自动安装 
curl -sSL https://get.daocloud.io/docker | sh 

# 手动安装 - 成功率不高
wget https://download.docker.com/linux/debian/dists/buster/pool/stable/arm64/docker-ce_19.03.8~3-0~debian-buster_arm64.deb
sudo dpkg -i docker-ce*.deb
sudo apt -f install

版本

docker info

自启 / 重启 / 关闭 / 状态

systemctl start docker
systemctl restart docker
systemctl stop docker
systemctl status docker

卸载

mv /var/lib/dpkg/info/docker-ce* /tmp/
dpkg --remove --force-remove-reinstreq docker-ce
apt autoremove
apt autoclean
#rm -rf /var/lib/docker

加速镜像

rm -fr /etc/docker/daemon.json
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["个人阿里云加速路径(下面附上获取地址)"]
}
EOF

个人阿里云加速获取地址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

当前镜像

service docker restart
docker info | grep "Registry Mirrors" -A 1

二、Docker Web

给 Docker 添加可视化界面

# 忽略
docker rm Portainer -f
docker volume rm Portainer_data

# 创建卷
docker volume create Portainer_data

# 运行(下一段为当前操作的解析)
docker run -d \
    --name=Portainer \
    --restart always \
    -e TZ=Asia/Shanghai \
    -p 10000:9000 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v Portainer_data:/data \
    portainer/portainer:linux-arm64

# 参数:
-d:后台运行
--name Portainer                                # 容器名称
--restart always                                # 开机自启
-e TZ=Asia/Shanghai                             # 设定时区
-p 10000:9000                                   # 宿主机 10000 端口映射容器的 9000 端口
-v /var/run/docker.sock:/var/run/docker.sock:  # 把宿主机的 Docker 守护进程 (Docker daemon) 默认监听的 Unix 域套接字挂载到容器中。
-v Portainer_data:/data:                       # 把宿主机 Portainer_data 数据卷挂载到容器 /data 目录

# https://portainer.readthedocs.io/en/stable/deployment.html

Web 访问地址

IP:10000 -> Local

三、Portainer 中文(未测试)

1.新建文件夹命名为 public ,把 Portainer-CN.zip 解压至里面。 
2.public 文件夹传输至系统根目录
3.按需执行以下命令
x86-64 系统使用
docker run -d -p 10000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v Portainer_data:/data -v /public:/public portainer/portainer:1.20.2
arm64 系统使用
docker run -d -p 10000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v Portainer_data:/data -v /public:/public portainer/portainer:linux-arm64-1.20.2

# 原作者:https://www.quchao.net/Portainer-CN.html
# 步骤:https://www.right.com.cn/forum/thread-940311-1-1.html

四、Docker 扩容(挂载在外置硬盘上)

      注:挂载外置硬盘的方法这里不再描述,Armbian折腾日记中有一篇《Armbian挂载外置硬盘》的详细介绍与操作步骤可供参考。将Docker移动到外置硬盘前先停止Docker。

停止 Docker

service docker stop

移动Docker到外置硬盘

# 创建目录 /vicdisk 为我外置硬盘创建在根目录的一个入口
mkdir /vicdisk/docker -p

# 拷贝数据
# -rpvb 递归/保留属性/覆盖/详细
cp /var/lib/docker/* /vicdisk/docker -rpvb
mv /var/lib/docker /var/lib/docker.bak

# 软连接:实际 + 目标
ln -s /vicdisk/docker /var/lib

# 恢复步骤,删除软连接(警告!尾部没有左斜杠 /)
#rm -rf /var/lib/docker

# 生效/启动
systemctl daemon-reload
service docker restart

# 验证
docker info
#docker info | grep 'docker Root Dir'
-----------------
显示=成功
Docker Root Dir: /vicdisk/docker

# 重启自动挂载外置硬盘,在 rc.local
sed -i '/exit 0/i\mount -v /dev/sda1 /vicdisk' /etc/rc.local
--# 查询以上重启自动挂载外置硬盘是否正常
--systemctl status rc-local.service
--#出现 /etc/rc.local Compatibility 错误参考以下博客:
--https://blog.csdn.net/woay2008/article/details/92252232

五、Docker 玩法

30 多种玩法!

https://www.right.com.cn/forum/thread-911375-1-1.html


本节完

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐