何もしていないのに動かなくなった!
みたいなニュアンスで書いてしまいました。申し訳ございませんでした。
事象
久しぶりに開発環境の Docker を build (正確には docker-compose up
) したらこんなエラーが出て php 用の MongoDB Client がインストールできなかった。
Package "mongodb" does not have REST info xml available
install failed
なんだ?と思って色々と調べていた。たまたま用があって sudo nala update
( apt
の変わりに nala
使ってます ) をしたら package list が ignore されていて「おや?」となった。
Ignored: https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/5.0 InRelease
上記は docker host 側の事象だが、なんかネットワークおかしいのか?ということになった。
/etc/docker/daemon.json
で DNS を設定してみてる
/etc/docker/daemon.json
がない場合は新規作成する。
{
"dns":
[
"8.8.8.8",
"8.8.4.4"
]
}
終わったら docker を再起動する
sudo systemctl restart docker
再度、docker-compose up
してみた結果…
No releases available for package "pecl.php.net/mongodb"
install failed
なんかメッセージかわったけどダメだった(´;ω;`)ブワッ
pear の proxy 設定をしてみる
Dockerfile の pecl install mongodb
( MongoDB をインストールしているところ ) の前に設定を追加してみる。
:
RUN set -xe \
&& apt-get update -y \
:
+ && pear config-set http_proxy http://140.227.69.124:3180 \
&& pecl install mongodb \
:
proxy server は適当に稼働率が高いのを設定した。
freeproxylists.net/ja/?c=JP&pt=&pr=..
やっとインストールすることができました。この修正を commit するか?は悩ましいですが… そんじゃまた。