Nextcloud的docker-compose部署方法
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
Compose 使用的三个步骤:
使用 Dockerfile 定义应用程序的环境。
使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
最后,执行 docker-compose up 命令来启动并运行整个应用程序,以下是x86系统适用的文件,根据你的系统情况前往下载。
wget https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -O /usr/local/bin/docker-compose
如果这一步失败,请直接到GitHub在本地下载docker-compose可执行文件
上传至服务器的/usr/local/bin/文件夹,并将文件改名为docker-compose
添加运行权限
chmod +x /usr/local/bin/docker-compose
验证docker-compose命令
docker-compose -v
创建用于保存nextcloud配置和文件的目录
mkdir -p /nextcloud/nginx # 存放nginx配置
mkdir -p /nextcloud/db # 存放数据库文件
mkdir -p /nextcloud/app # 存放nextcloud程序包,以后出现问题了可以修改里面的php配置文件
切换到/nextcloud/文件夹下
cd /nextcloud/
创建docker-compose.yaml
vim docker-compose.yaml
输入以下内容
version: '2'
#volumes:
#nextcloud:
#db:
services:
db:
image: mariadb:10.5
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
networks:
- nextcloud_netbridge
volumes:
- /nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
restart: always
ports:
- 9900:80
networks:
- nextcloud_netbridge
links:
- db
volumes:
- /nextcloud/app:/var/www/html
environment:
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
networks:
nextcloud_netbridge:
driver: bridge
如果想把端口映射改为80,可以将上面的9900改为80
ports:
- 80:80
最后启动集成配置
docker-compose -f /nextcloud/docker-compose.yaml up -d
nextcloud访问地址:http://ip:9900 登录后创建管理员账号,设置密码。
通过域名访问 nextcloud 提示“通过不被信任的域名访问”解决办法:
# vi /nextcloud/app/config/config.php
# 找到'trusted_domains'
# 在 0 => 'localhost', 这行下面添加以下代码,“tbdr.cn”改为你的实际域名
1 => 'tbdr.cn',
评论(0)