はじめに

Docker 上の NextCloud で,SMB マウントする方法をメモしておく。

問題点

デフォルトの NextCloud には,samba パッケージが含まれていない。そのため,Dockerfile の時点で samba 関連のパッケージをインストールする必要がある。

Dockerfile

FROM nextcloud:26-apache RUN apt-get update && \ apt-get install -y libsmbclient-dev smbclient && \ pecl install smbclient && \ docker-php-ext-enable smbclient

Compose

volumes: nextcloud_app: nextcloud_data: nextcloud_db: services: db: image: mariadb container_name: nextcloud_db restart: unless-stopped volumes: - nextcloud_db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${ENV_MYSQL_ROOT_PASSWORD} - MYSQL_PASSWORD=${ENV_MYSQL_PASSWORD} - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud networks: - default app: build: ./ container_name: nextcloud_app links: - db volumes: - nextcloud_app:/var/www/html - nextcloud_data:/var/www/html/data environment: - MYSQL_PASSWORD=${ENV_MYSQL_PASSWORD} - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=nextcloud_db restart: unless-stopped networks: - default

参考・関連リンク