如何彻底删除NextCloud Docker相关内容以实现全新重装?
问题根因
你之前的清理操作没有触达Docker绑定挂载的本地目录:你的docker-compose.yml中NextCloud应用的配置、数据、主题等文件都通过./app/开头的路径直接挂载到了宿主机本地,SQLite数据库文件、已经写入的数据库配置也存在这些目录中。docker system prune命令仅会清理未被使用的Docker托管卷、镜像、容器资源,不会修改或删除宿主机上的绑定挂载目录内容,因此重启后始终加载旧的SQLite实例。
全新安装操作步骤
- 首先进入docker-compose.yml所在的目录,执行以下命令停止所有服务并删除关联的Docker托管命名卷:
docker compose down -v - 删除宿主机上的本地挂载目录,彻底清除所有旧配置、旧数据:
rm -rf ./app ./proxy - (可选)清理残留的相关镜像,避免缓存导致的异常:
docker image rm nextcloud:latest mariadb jwilder/nginx-proxy:alpine jrcs/letsencrypt-nginx-proxy-companion - 确认你的docker-compose.yml配置已修改正确(包括域名、邮箱、MariaDB参数等),重新启动服务:
docker compose up -d
初始化注意事项
服务启动完成后访问你的NextCloud域名,会进入全新的初始化界面:
- 数据库选择MySQL/MariaDB
- 数据库用户填
nextcloud,密码填你配置的MYSQL_PASSWORD值,数据库名填nextcloud - 数据库地址填
db:3306,完成初始化即可使用MariaDB作为数据库
Docker Compose配置参考
version: '3' services: proxy: image: jwilder/nginx-proxy:alpine labels: - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true" container_name: nextcloud-proxy networks: - nextcloud_network ports: - 80:80 - 443:443 volumes: - ./proxy/conf.d:/etc/nginx/conf.d:rw - ./proxy/vhost.d:/etc/nginx/vhost.d:rw - ./proxy/html:/usr/share/nginx/html:rw - ./proxy/certs:/etc/nginx/certs:ro - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/tmp/docker.sock:ro restart: unless-stopped letsencrypt: image: jrcs/letsencrypt-nginx-proxy_companion container_name: nextcloud-letsencrypt depends_on: - proxy networks: - nextcloud_network volumes: - ./proxy/certs:/etc/nginx/certs:rw - ./proxy/vhost.d:/etc/nginx/vhost.d:rw - ./proxy/html:/usr/share/nginx/html:rw - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro restart: unless-stopped db: image: mariadb container_name: nextcloud-mariadb networks: - nextcloud_network volumes: - db:/var/lib/mysql - /etc/localtime:/etc/localtime:ro environment: - MYSQL_ROOT_PASSWORD=toor - MYSQL_PASSWORD=mysql - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud restart: unless-stopped command: ['--innodb_read_only_compressed=OFF'] app: image: nextcloud:latest container_name: nextcloud-app networks: - nextcloud_network depends_on: - letsencrypt - proxy - db volumes: - nextcloud:/var/www/html - ./app/config:/var/www/html/config - ./app/custom_apps:/var/www/html/custom_apps - ./app/data:/var/www/html/data - ./app/themes:/var/www/html/themes - /etc/localtime:/etc/localtime:ro environment: - VIRTUAL_HOST=your-subdomain.duckdns.org - LETSENCRYPT_HOST=your-subdomain.duckdns.org - LETSENCRYPT_EMAIL=you@youremail.com restart: unless-stopped volumes: nextcloud: db: networks: nextcloud_network:
内容的提问来源于stack exchange,提问作者JayCo741
相关产品推荐
相关产品推荐

