🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

876閲覧

Dockerで作成した環境(例としてownCloud)をアップグレードするには

taro373

総合スコア189

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2019/12/10 07:30

前提・実現したいこと

DockerでownCloud(もしくはNextcloud)を構築しようと考えました。

そもそもの基本的な部分で教えてください。

下記の方法でテスト環境では10.3が動作しましたが、もし、
これを10.4や11にアップグレードしようとした時は
方法1 .envファイルの「OWNCLOUD_VERSION=10.3」の記述を変更する
方法2 管理画面のアップデートから
「新しいバージョンが利用可能: ownCloud 10.3.2」の「アップデータを開く」
から実行する
と考えました。
どのようにするのが正解なのでしょうか。

やってみたこと 

「アップデータを開く」をクリックすると
「cURL error 7: Failed to connect to 192.168.1.xxx port 8080: No route to host」
となりましたが、コンテナが起動している状態では8080は開いています

$ nmap 192.168.1.xxx Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-10 16:10 JST Nmap scan report for 192.168.1.xxx Host is up (0.0011s latency). Not shown: 996 closed ports PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind 3306/tcp open mysql 8080/tcp open http-proxy

ownCloudをDockerで実行した手順

ここに記載された方法でownCloudが動作しました。
Settings画面では、下記のように表示されています。
System Status
version 10.3.1.1

またphpのバージョンも7.3でしたので2021/12/06まで
サポート期間があることも確認できました。

$ docker exec -it cbd bash root@cbd222973806: /var/www/owncloud # php -v PHP 7.3.11-0ubuntu0.19.10.1 (cli) (built: Oct 24 2019 11:38:49) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.11-0ubuntu0.19.10.1, Copyright (c) 1999-2018, by Zend Technologies

アップロードするファイルの容量は
wk-owncloud_owncloud_1コンテナで下記を変更して可能となりました。
vi /var/www/owncloud/.htaccess
vi /etc/php/7.3/apache2/php.ini

念のためのデータボリュームの実体を探すと下記に見つかりました

$ docker volume inspect wk-owncloud_files|grep point "Mountpoint": "/var/lib/docker/volumes/wk-owncloud_files/_data", $ sudo ls /var/lib/docker/volumes/wk-owncloud_files/_data/files/hoge/files Documents Photos dummy2GB.img memlog.txt ownCloud Manual.pdf

これは使えそうです。
一つだけ気になり、質問しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Immutable Infrastructureと言われるように、基本的にコンテナ自体のアップデートはしません
体系化!Dockerまとめ

データについては、コンテナの外に保存するようにします
Dockerのデータ永続化関連について

投稿2019/12/10 07:51

yoorwm

総合スコア1305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taro373

2019/12/11 00:19

はい、上記の方法ではデータはデータボリュームに保存されています。 動作しているコンテナでphpのサポート期間が終了してしまったら、どう対応すれば良いのでしょうか。 ownCloudの場合は、新しいバージョンのownCloudコンテナから、コンテナ外のデータ (データボリューム)を参照するのでしょうか。 アップグレード時のデータに関しては、 ownCloudでは心配なさそうですが、GitLabでは痛い目にあったことがあります。 使い始めた最初の頃、間違えてデータベースのサービスを停止して、アップデートをしてしまい、 システムはバージョンが上がったにも関わらず、テーブル構造は旧バージョンのままとなり 運用を丸一日止めてしまいました。 (旧バージョンを指定して再度インストールして、ことなきを得ました)
yoorwm

2019/12/11 00:54 編集

Immutableなんだから、アップグレードしなくても問題無く動作するなら、そのイメージを使い続ければ問題無いはずです。 > 新しいバージョンのownCloudコンテナから、コンテナ外のデータ(データボリューム)を参照するのでしょうか。 ownCloudは知りませんが、前と同じ指定すれば普通に参照出来るでしょう。 (データ構造が変わっている等あったら、ソリューションの方にアップグレードの方法などが用意されていると思いますが、無いようならアップグレードはしない。という辺りはWindowsなどの運用と同じかと思います。)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問