针对无基础的小伙伴,常用的一些方法。供参考~
1. 搭建环境
- 服务器:
腾讯香港轻量应用服务器 24 元 / 月 VPS 一台,本期搭建用的是 Vultr 的服务器,按小时计费,可随时销毁(建议大家也最好是选 非大陆的服务器)(腾讯轻量购买链接) Hetzner 注册免费得 25 欧试用金有效期一个月 - 系统:Debian 10(DD 脚本 非必需 DD 用原来的系统也 OK)
域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)- 安装好 Docker、Docker-compose
【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(安装地址)【非必需本教程采用】安装好 Nginx Proxy Manager
2. 搭建视频
YouTube:https://youtu.be/VQiP0r-gMOo
哔哩哔哩:https://www.bilibili.com/BV1f541197es
3. Docker 项目更新
3.1 docker 命令搭建的常用更新方法
以 Halo 博客的搭建为例子:
搭建的命令为:
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:1.5.2
更新方法:
docker stop halo # 先停止容器,这一步所有都一样,注意你容器的名字 docker rm -f halo # 删除容器,这一步所有都一样,注意你容器的名字 cp -r ~/.halo ~/.halo.archive #备份数据(非常非常非常重要)这一步所有都一样,注意你挂载出来的路径地址 rm -rf ~/.halo/.leveldb # 这一步是halo特有的 docker pull halohub/halo:1.5.3 # 拉取最新的镜像,一般的话你知道特定的版本号就直接写即可,比如这边的1.5.3,如果不知道版本号,可以直接写latest,即 docker pull halohub/halo:latest docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:1.5.3 # 重新运行容器 注意和搭建时候唯一不同的就是最后面的版本号不同,如果你是latest 那就把1.5.3改成latest docker image prune # 删除掉旧的镜像(可选)
参考自官方文档:https://docs.halo.run/getting-started/upgrade
3.2 docker-compose 搭建的更新方法
以 qbittorrent 为例:
搭建命令:
cd ~ mkdir -p /root/data/docker_data/qBittorrent #创建qbitorrent数据文件夹 cd /root/data/docker_data/qBittorrent mkdir config downloads #创建配置文件目录与下载目录 nano docker-compose.yml #创建并编辑文件
docker-compose.yml
里面的内容:
version: "2" services: qbittorrent: image: linuxserver/qbittorrent:4.4.0 container_name: qbittorrent environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai # 你的时区 - UMASK_SET=022 - WEBUI_PORT=8081 # 将此处修改成你欲使用的 WEB 管理平台端口 volumes: - /root/data/docker_data/qBittorrent/config:/config # 绝对路径请修改为自己的config文件夹 - /root/data/docker_data/qBittorrent/downloads:/downloads # 绝对路径请修改为自己的downloads文件夹 ports: # 要使用的映射下载端口与内部下载端口,可保持默认,安装完成后在管理页面仍然可以改成其他端口。 - 6881:6881 - 6881:6881/udp # 此处WEB UI 目标端口与内部端口务必保证相同,见问题1 - 8081:8081 restart: unless-stopped
更新方法:
首先进入到 docker-compose
所在的文件夹下,然后:
docker-compose pull # 注意到上方docker-compose.yml里面linuxserver/qbittorrent后面有版本号4.4.0,(如果没有默认就是latest),所以更新需要修改版本号为新的版本号(更新到特定版本),或者直接删去现在的版本号(更新到最新版本) cp -r qBittorrent qBittorrent.archive # 同样你可以备份一下,也可以直接备份配置文档,因为有些时候,downloads里面文件都是小电影,很大,浪费空间 = = docker-compose up -d #完成 docker image prune # 删除掉旧的镜像(可选)
3.3 Portainer 更新
见【Docker 系列】Docker 更新容器镜像的三种方法
4. Docker 项目迁移到新服务器
核心思想:
容器本身是可以 pull 下来的,没必要备份,我们只需要把搭建的命令(或者 docker-compose 文件)放到新机器上运行一下,然后把之前容器映射到本地的文件夹放到新的机器上就行。
4.1 带面板迁移
见视频。
4.2 命令行迁移
tar -czvpf .halo.tar.gz .halo.archive scp -P 22 -r .halo.tar.gz [email protected]:/root # scp -P 端口 -r /root/backup/backup.tar 你的用户名@你的IP:/root/data/docker_data/ tar -zxvpf .halo.tar.gz mv .halo.archive .halo #把.halo.archive重命名成.halo
参考:https://www.runoob.com/linux/linux-comm-scp.html
https://www.runoob.com/linux/linux-comm-tar.html
5. Docker 项目卸载(包括卸载 Docker、docker-compose)
5.1 docker 命令搭建的常用卸载方法
docker ps docker stop 容器名字 cd ~ docker rm -f 容器名字 rm -rf 映射出来的路径
5.2 docker-compose 搭建的卸载方法
cd /root/data/docker_data/qBittorrent docker-compose down cd ~ rm -rf /root/data/docker_data/qBittorrent # rm -rf 映射出来的路径
5.3 卸载 docker 本身
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
参考:https://docs.docker.com/engine/install/debian/
5.4 卸载 docker-compose
cd /usr/local/bin/ rm -rf docker-compose
6. 参考资料
https://docs.docker.com/engine/install/debian/
https://www.runoob.com/linux/linux-comm-scp.html