如何删除与 NextCloud Docker 容器关联的所有内容,以便我可以重新安装新的?
How to remove everything associated with NextCloud Docker Containers so that I can re-install fresh?
我希望删除与 NextCloud 关联的所有内容,以便我可以进行全新安装,而不是继续获取旧实例。
我通过 docker 组合文件(见下文)安装了 NextCloud(以及 nginx、letsencrypt 和 maria)。当我第一次登录时,我 运行 遇到了 MariaDB 的问题,无法完成初始登录。
虽然我正在排除故障,但我尝试使用 SQLite 进行初始登录并且成功了,但我不想 运行 在生产环境中使用 SQLite。我最终找到了一个包含在 MariaDB 定义中的命令,然后进行了全新安装。
我尝试了 docker-compose down
,然后 docker compose up -d
,但这让我回到了使用 SQLite 的实例。
我停止了所有 NextCloud 容器和 运行 docker system prune --volumes -a
,然后是 docker-compose up -d
。这重新下载并提取了所有 docker 图像。当我回到 NextCloud URL 时,它仍然将我指向 SQLite 实例,而不是我正在寻找的全新安装。
我还可以尝试哪些其他方法来进行全新安装?
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:
您的某些容器上似乎有“绑定卷”。
特别是在你的 nextcloud-app 实例上。
此命令不会删除绑定卷。仅托管卷。
docker system prune --volumes -a
next cloud可能已经在./app文件夹中持久化了一些配置数据
因此,如果您想完全重置它,您需要停止所有容器,手动删除此文件夹。删除托管卷。
并重新启动它
我希望删除与 NextCloud 关联的所有内容,以便我可以进行全新安装,而不是继续获取旧实例。
我通过 docker 组合文件(见下文)安装了 NextCloud(以及 nginx、letsencrypt 和 maria)。当我第一次登录时,我 运行 遇到了 MariaDB 的问题,无法完成初始登录。
虽然我正在排除故障,但我尝试使用 SQLite 进行初始登录并且成功了,但我不想 运行 在生产环境中使用 SQLite。我最终找到了一个包含在 MariaDB 定义中的命令,然后进行了全新安装。
我尝试了 docker-compose down
,然后 docker compose up -d
,但这让我回到了使用 SQLite 的实例。
我停止了所有 NextCloud 容器和 运行 docker system prune --volumes -a
,然后是 docker-compose up -d
。这重新下载并提取了所有 docker 图像。当我回到 NextCloud URL 时,它仍然将我指向 SQLite 实例,而不是我正在寻找的全新安装。
我还可以尝试哪些其他方法来进行全新安装?
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:
您的某些容器上似乎有“绑定卷”。 特别是在你的 nextcloud-app 实例上。
此命令不会删除绑定卷。仅托管卷。
docker system prune --volumes -a
next cloud可能已经在./app文件夹中持久化了一些配置数据
因此,如果您想完全重置它,您需要停止所有容器,手动删除此文件夹。删除托管卷。 并重新启动它