/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

docker-composeのアップグレードではまった

f:id:yatta47:20210123121422p:plain

docker-composeも古かったので他の人が作ったスクリプトが自分の環境で動かないということが多くなってきたので、そちらも直す。

出ているエラーはこちら。

$ docker-compose up
ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

今使っているdocker-composeだとバージョンに対応していないのでこれは上げるしかないと思い決意しました。  

アップグレードしてみたが・・・

docker-compose自体は単体のファイルとしいて入れていたのは覚えていたので、公式サイトをもとに上書きする感じでアップグレードしました。

Install Docker Compose | Docker Documentation

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.28.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   651  100   651    0     0   2214      0 --:--:-- --:--:-- --:--:--  2214
100 12.2M  100 12.2M    0     0  3937k      0  0:00:03  0:00:03 --:--:-- 5279k
$ sudo chmod +x /usr/local/bin/docker-compose

完了。よし。バージョン確認。

$ docker-compose up
[7474] Error loading Python lib '/tmp/_MEIEgLpvV/libpython3.9.so.1.0': dlopen: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/_MEIEgLpvV/libpython3.9.so.1.0)

(; ・`д・´)!?!?

 

Pythonとの依存関係によりエラー

単なる入れ替えでではだめでなにやらPythonのライブラリにうまく紐づいてくれないようす。コミュニティを確認してみたところンストール方法としてはpipでインストールするやり方もあるようなのでそちらの方法でやってみます。

とりあえずバイナリ置きっぱなしなので削除します。

$ sudo rm -rf /usr/local/bin/docker-compose

そしてpip経由でインストールします。

$ pip install docker-compose
Collecting docker-compose
  Downloading docker_compose-1.28.0-py2.py3-none-any.whl (114 kB)
     |????????????????????????????????| 114 kB 16

よし。完了。

もともとPATHの中にあるものを消したので新しいターミナルを開いてdocker-compose -vを打ってみて確認。

$ docker-compose -v
docker-compose version 1.28.0, build unknown

よし。ちゃんと入った。

 

まとめ

予想外のところで躓きました。

Pythonは本当依存関係が多いからやってみないとわからない部分が多いですねぇ。これはOSごとに違うとは思うのですが、自分の場合はAmazonLinuxだったのでその辺がなおさら多いのかも。

Ubuntuに変えようかな。

ではでは。

 

参考サイト

Error in docker compose - Compose - Docker Forums