Centos7 使用 Docker 安裝 owncloud

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

OWNCLOUD_VERSION

The ownCloud version

latest

OWNCLOUD_DOMAIN

The ownCloud domain

localhost:8080

OWNCLOUD_TRUSTED_DOMAINS

The ownCloud trusted domains

localhost

ADMIN_USERNAME

The admin username

admin

ADMIN_PASSWORD

The admin user’s password

admin

HTTP_PORT

The HTTP port to bind to

8080

以上配置,假設您是在本地安裝。對於遠程訪問,需要更新 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

參考

Installing with Docker

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章