一.使用docker-compose部署
1.编写docker-compose
compose中的container_name容器名可更换,目前为nocobasetest,pgsqltest
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| version: "3"
services: app: image: nocobase/nocobase:latest container_name: nocobasetest networks: - nocobase environment: - DB_DIALECT=postgres - DB_HOST=pgsqltest - DB_DATABASE=nocobase - DB_USER=nocobase - DB_PASSWORD=nocobase - LOCAL_STORAGE_BASE_URL=/storage/uploads volumes: - ./nocobase/storage:/app/nocobase/storage ports: - "13080:80" depends_on: - postgres postgres: image: postgres:latest hostname: pgsqltest container_name: pgsqltest restart: always networks: - nocobase command: postgres -c wal_level=logical environment: - POSTGRES_USER=nocobase - POSTGRES_DB=nocobase - POSTGRES_PASSWORD=nocobase volumes: - ./nocobase/postgres:/var/lib/postgresql/data networks: nocobase: driver: bridge
|
2.启动
在docker-compose目录下运行:
docker-compose up -d
稍等一会就可访问,ip+13080
3.备份
通过上面的compose启动的容器,我们的volumes已经映射到了本地的nocobase目录,所以我们需要备份nocobase即可
备份数据库前建议先停止服务
docker stop {nocobasetest,pgsqltest}
备份文件夹nocobase
tar -czf nocobase_back.tar.gz nocobase
恢复服务
docker start {pgsqltest,nocobasetest}
4.使用此数据在其它服务器使用
将备份的文件 上传到其它服务器
tar -xzf nocobase_back.tar.gz
进入nocobase目录,启动容器
docker-compose up -d
此时会拉取镜像,启动容器,并使用你提供的数据
3.更新镜像容器
1 2 3 4 5 6 7
| # 1.更新docker镜像 docker pull nocobase/nocobase:latest docker pull postgres:latest # 2.停止并删除旧容器(需要确保数据已经备份) docker-compose down # 启动更新后的容器 docker-compose up -d
|