51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【有用的小知识】Docker容器如何更新?如何迁移应用?如何卸载?

针对无基础的小伙伴,常用的一些方法。供参考~

  1. 搭建环境 {#1-搭建环境}

  1. 搭建视频 {#2-搭建视频}

YouTube:https://youtu.be/VQiP0r-gMOo

哔哩哔哩:https://www.bilibili.com/BV1f541197es

  1. Docker项目更新 {#3-docker项目更新}

3.1 docker命令搭建的常用更新方法 {#31-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搭建的更新方法 {#32-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更新 {#33-portainer更新}

【Docker系列】Docker更新容器镜像的三种方法

  1. Docker项目迁移到新服务器 {#4-docker项目迁移到新服务器}

核心思想:

容器本身是可以pull下来的,没必要备份,我们只需要把搭建的命令(或者docker-compose文件)放到新机器上运行一下,然后把之前容器映射到本地的文件夹放到新的机器上就行。

4.1 带面板迁移 {#41-带面板迁移}

见视频。

4.2 命令行迁移 {#42-命令行迁移}

tar -czvpf .halo.tar.gz .halo.archive

scp -P 22 -r .halo.tar.gz root@192.248.190.156:/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

  1. Docker项目卸载(包括卸载Docker、docker-compose) {#5-docker项目卸载包括卸载dockerdocker-compose}

5.1 docker命令搭建的常用卸载方法 {#51-docker命令搭建的常用卸载方法}

docker ps 

docker stop 容器名字


cd \~


docker rm -f 容器名字

`rm -rf 映射出来的路径
`

5.2 docker-compose搭建的卸载方法 {#52-docker-compose搭建的卸载方法}

cd /root/data/docker_data/qBittorrent

docker-compose down


cd \~

`rm -rf /root/data/docker_data/qBittorrent # rm -rf 映射出来的路径
`

5.3 卸载docker本身 {#53-卸载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 {#54-卸载docker-compose}

cd /usr/local/bin/
`rm -rf docker-compose
`

  1. 参考资料 {#6-参考资料}

https://docs.docker.com/engine/install/debian/

https://www.runoob.com/linux/linux-comm-scp.html

https://www.runoob.com/linux/linux-comm-tar.html

https://docs.halo.run/getting-started/upgrade

赞(0)
未经允许不得转载:工具盒子 » 【有用的小知识】Docker容器如何更新?如何迁移应用?如何卸载?