centos7 安裝 docker
安裝教程可參考:centos7 安裝 docker
開始安裝owncloud
1. 創建一個新的項目目錄
mkdir owncloud-docker-server
cd owncloud-docker-server
2. vim docker-compose.yml 內容如下
version: "3"
volumes:
files:
driver: local
mysql:
driver: local
redis:
driver: local
services:
owncloud:
image: owncloud/server:${OWNCLOUD_VERSION}
container_name: owncloud_server
restart: always
ports:
- ${HTTP_PORT}:8080
depends_on:
- mariadb
- redis
environment:
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
- OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS}
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=owncloud
- OWNCLOUD_DB_USERNAME=owncloud
- OWNCLOUD_DB_PASSWORD=owncloud
- OWNCLOUD_DB_HOST=mariadb
- 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
mariadb:
image: mariadb:10.11 # minimum required ownCloud version is 10.9
container_name: owncloud_mariadb
restart: always
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=owncloud
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=owncloud
- MARIADB_AUTO_UPGRADE=1
command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- mysql:/var/lib/mysql
redis:
image: redis:6
container_name: owncloud_redis
restart: always
command: ["--databases", "1"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- redis:/data
配置:
- 公開端口 8080,允許 HTTP 連接。
- 使用單獨的 MariaDB 和 Redis 容器。
- 將數據和MySQL數據目錄掛載到主機上以進行持久存儲。
3. 創建一個 .env 配置文件,其中包含所需的配置設置。
cat << EOF > .env
OWNCLOUD_VERSION=10.14
OWNCLOUD_DOMAIN=localhost:8080
OWNCLOUD_TRUSTED_DOMAINS=localhost
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=8080
EOF
只需要一些設置,這些是:
Setting Name | Description | Example |
---|---|---|
|
The ownCloud version |
|
|
The ownCloud domain |
|
|
The ownCloud trusted domains |
|
|
The admin username |
|
|
The admin user’s password |
|
|
The HTTP port to bind to |
|
以上配置,假設您是在本地安裝。對於遠程訪問,需要更新 OWNCLOUD_DOMAIN 和 OWNCLOUD_TRUSTED_DOMAINS 的值添加可訪問服務器的主機名或 IP 地址。
4. 構建並啓動容器
docker compose up -d
5. 檢查所有容器是否已成功啓動
docker compose ps
通過運行 docker compose ps 檢查所有容器是否已成功啓動。如果它們都正常工作,您應該會看到類似於以下內容的輸出:
Name | Command | State | Ports |
---|---|---|---|
owncloud_mariadb |
docker-entrypoint.sh --max … |
Up (healthy) |
3306/tcp |
owncloud_redis |
docker-entrypoint.sh --dat … |
Up (healthy) |
6379/tcp |
owncloud_server |
/usr/bin/entrypoint /usr/b … |
Up (healthy) |
0.0.0.0:8080→8080/tcp |
在其中,您可以看到數據庫、ownCloud 和 Redis 容器正在運行,並且可以通過主機上的端口 8080 訪問 ownCloud。
儘管容器已啓動並正在運行,但 ownCloud 可能仍需要幾分鐘才能完全運行。 檢查日誌輸出:
docker compose logs --follow owncloud
等到輸出顯示正在啓動 apache daemon...,然後再訪問 Web UI。
重要提示:
所有重要數據在以下情況後仍然存在:
docker compose down
docker compose up -d
有些細節會丟失,例如默認應用程序在卸載後可能會重新出現。
6. 訪問 Web UI
要登錄 ownCloud UI,請在您選擇的瀏覽器中打開 http://localhost:8080,您將在其中看到標準 ownCloud 登錄屏幕,如下圖所示。
用戶名和密碼是您之前存儲在 .env 中的憑據。請注意,即使您更改 .env 中的值,這些值也不會在部署之間發生更改。
7. 停止容器
docker compose stop
要停止並刪除容器以及相關網絡、鏡像和卷:
docker compose down --rmi all --volumes