斐訊N1の折騰 - Docker安裝與解除安裝

USeeNet發表於2020-12-23

Docker.png

1. 阿里加速安裝Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun

1.1如果遇到以下問題

E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/

# 解決
ps -A| grep apt
kill -9 程式ID

Docker-err.png

2. 配置阿里映象加速器

飛機直達

Docker-ali.png

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://系統分配字首.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3. 安裝Portainer管理介面

可以事先下載好漢化包,解壓到/public

飛機直達
原作者主頁

# 建立卷
docker volume create Portainer_data

# 新建漢化包資料夾,並自行上傳漢化包到此資料夾
mkdir /public

# 執行
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 \
    -v /public:/public \
    portainer/portainer:linux-arm64

3.1命令解釋

-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 /public:/public:Portainer漢化包目錄
-v Portainer_data:/data:把宿主機 Portainer_data 資料卷掛載到容器 /data 目錄

3.2訪問Portainer管理介面

IP或域名:10000

PS:上方所涉及的目錄地址與埠號瞭解相關操作的話均可自定義,注意建立好對應目錄和開放埠即可

4. Docker常用命令

# 檢視執行容器資訊
docker ps

# 檢視所有容器資訊
docker ps -a

# 檢視已安裝映象資訊
docker images

# 啟動、重啟、停止
docker start xxx
docker restart xxx
docker stop xxx

# 解除安裝刪除
docker rm 容器id
docker rmi 映象id

# 檢視Docker資訊
docker info

5. Docker 擴容

U盤掛載

fdisk -l                        # 檢視磁碟情況
mkfs.ext4 /dev/sda              # u 盤是 sda,執行格式化 sda
mkdir /mnt/upan                 # 建立目錄供掛載使用
mount -v /dev/sda /mnt/upan     # 掛載 U 盤
df -h                           # 檢視掛載狀態
umount -v /dev/sda              # 解除掛載

資料遷移

# 停止Docker
service docker stop

# 建立目錄
mkdir -p /mnt/upan/docker

# 拷貝資料
# -rpvb 遞迴/保留屬性/覆蓋/詳細
cp -rpvb /var/lib/docker/* /mnt/upan/docker
mv /var/lib/docker /var/lib/docker.bak

# 軟連線:實際 + 目標
ln -s /mnt/upan/docker /var/lib

# 恢復步驟,刪除軟連線(PS:尾部沒有左斜槓 /)
#rm -rf /var/lib/docker

# 生效/啟動
systemctl daemon-reload
service docker restart

# 驗證
docker info | grep 'docker Root Dir'
#顯示如下則遷移成功
Docker Root Dir: /mnt/upan/docker

# 重啟自動掛載 U 盤,在 rc.local
sed -i '/exit 0/i\mount -v /dev/sda /mnt/upan' /etc/rc.local

6. Docker玩法

恩山 - 四天

7. 解除安裝

sudo apt-get purge docker-*
sudo apt-get autoremove --purge docker-*
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker

# 檢查是否有遺留
whereis docker

說明

參考文件:

黎記 - N1 安裝 Docker + GUI

轉自本人個人網站:柚見小站

相關文章