目录
- 在本地计算机上安装
可以使用Docker 和官方的ownCloud Docker映像来安装 ownCloud。该官方映像旨在与主机文件系统中的数据量以及单独的MariaDB和Redis容器一起使用。配置:
- 公开端口8080,允许HTTP连接。
- 在主机上安装数据和MySQL数据目录以进行持久存储。
在本地计算机上安装
要使用它,首先创建一个新的项目目录,然后docker-compose.yml
从 ownCloud Docker GitHub存储库下载 到该新目录。接下来,创建一个.env配置文件,其中包含必需的配置设置。仅需要一些设置,这些设置是:
| 设定名称 | 描述 | 例 |
| :----------------- | :--------------- | :---------- |
| OWNCLOUD_VERSION
| ownCloud版本 | latest
|
| OWNCLOUD_DOMAIN
| ownCloud域 | localhost
|
| ADMIN_USERNAME
| 管理员用户名 | admin
|
| ADMIN_PASSWORD
| 管理员用户的密码 | admin
|
| HTTP_PORT
| 要绑定的HTTP端口 | 8080
|
然后,您可以使用首选的Docker命令行工具启动容器。以下示例显示了如何使用 Docker Compose。
# Create a new project directory
mkdir owncloud-docker-server
cd owncloud-docker-server
# Copy docker-compose.yml from the GitHub repository
wget https://raw.githubusercontent.com/owncloud/docs/master/modules/admin_manual/examples/installation/docker/docker-compose.yml
# Create the environment configuration file
cat << EOF > .env
OWNCLOUD_VERSION=10.3
OWNCLOUD_DOMAIN=localhost
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=8080
EOF
# Build and start the container
docker-compose up -d
该过程完成后,请通过运行来检查所有容器是否已成功启动docker-compose ps
。如果它们都正常工作,那么您应该期望看到类似于以下内容的输出:
Name Command State Ports
__________________________________________________________________________________________
server_db_1 /usr/bin/entrypoint/bin/s … Up 3306/tcp
server_owncloud_1 /usr/local/bin/entrypoint … Up 0.0.0.0:8080->8080/tcp
server_redis_1 /bin/s6-svscan /etc/s6 Up 6379/tcp
在其中,您可以看到数据库,ownCloud和Redis容器正在运行,并且ownCloud可通过主机上的端口8080访问。
| | 仅因为所有容器都在运行,ownCloud才能正常运行需要几分钟。如果您运行 docker-compose logs --follow owncloud
并看到大量信息记录到控制台,请等待直到其速度变慢以尝试访问Web UI。 |
| ---- | ------------------------------------------------------------ |
| | |
在登录
要登录ownCloud UI,请http://localhost:8080
在您选择的浏览器中打开,在其中您会看到标准的ownCloud登录屏幕,如下图所示。
用户名和密码是您之前存储的管理员用户名和密码.env
。
停止容器
如上例所示,假设您使用了docker-compose来停止容器的使用docker-compose stop
。或者,用于 docker-compose down
停止和删除容器以及相关的网络,映像和卷。
在Docker上升级ownCloud
当新版本的ownCloud发布时,您应该更新实例。为此,请按照以下简单步骤操作。
首先,转到您的.yaml
or .env
文件所在的docker目录。其次,将ownCloud置于维护模式;您可以使用以下命令进行操作:
docker-compose exec owncloud occ maintenance:mode --on
第三,使用以下命令创建备份,以防万一在升级过程中出现问题:
docker-compose exec db backup
| | 假定您正在使用 Webhippie的默认数据库容器。 |
| ---- | ------------------------------------------------------------ |
| | |
第五,关闭容器。
docker-compose down
第六,更新.env
文件或YAML文件中的ownCloud的版本号。可以使用sed,如以下示例所示。
# Make sure that you adjust the example to match your installation.
sed -i 's/^OWNCLOUD_VERSION=.*$/OWNCLOUD_VERSION=<newVersion>/' /compose/*/.env
第七,查看文件以确保已执行更改。
cat .env
第八,再次启动您的docker实例。
docker-compose up -d
现在您应该使用docker-compose运行当前的ownCloud。请注意,该容器将occ upgrade
在启动时自动运行。如果您发现容器一遍又一遍地启动,则可以使用以下命令检查更新日志:
docker-compose logs --timestamp owncloud
Docker撰写YAML文件
| | 如果您是企业客户,并且已经在portal.owncloud.com上注册,请替换image: owncloud/server
为image: registry.owncloud.com/owncloud/enterprise
,以便能够下载我们的企业docker映像。然后,通过运行docker login registry.owncloud.com
和您的门户网站凭据登录到我们的注册表。 |
| ---- | ------------------------------------------------------------ |
| | |
version: '2.1'
volumes:
files:
driver: local
mysql:
driver: local
backup:
driver: local
redis:
driver: local
services:
owncloud:
image: owncloud/server:${OWNCLOUD_VERSION}
restart: always
ports:
- ${HTTP_PORT}:8080
depends_on:
- db
- redis
environment:
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=owncloud
- OWNCLOUD_DB_USERNAME=owncloud
- OWNCLOUD_DB_PASSWORD=owncloud
- OWNCLOUD_DB_HOST=db
- OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
- OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- OWNCLOUD_MYSQL_UTF8MB4=true
- OWNCLOUD_REDIS_ENABLED=true
- OWNCLOUD_REDIS_HOST=redis
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- files:/mnt/data
db:
image: webhippie/mariadb:latest
restart: always
environment:
- MARIADB_ROOT_PASSWORD=owncloud
- MARIADB_USERNAME=owncloud
- MARIADB_PASSWORD=owncloud
- MARIADB_DATABASE=owncloud
- MARIADB_MAX_ALLOWED_PACKET=128M
- MARIADB_INNODB_LOG_FILE_SIZE=64M
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- mysql:/var/lib/mysql
- backup:/var/lib/backup
redis:
image: webhippie/redis:latest
restart: always
environment:
- REDIS_DATABASES=1
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- redis:/var/lib/redis
故障排除
如果登录注册表时遇到问题,请确保该.docker
文件位于主目录中。如果您通过安装了Docker snap
,请使用以下命令创建指向您的主目录的符号链接:
ln -sf snap/docker/384/.docker
版本384
可能与您的版本不同。请相应地进行调整。
https://doc.owncloud.com/server/10.3/admin_manual/installation/docker/