Multipassのdockerでコンテナーを使うための準備


Multipassでdockerを使う時に、私がハマったことを書きます。
私は、この記事を元に、自動で繰り返し操作したいと思いましした。

Selenium+Selenium IDEでちゃちゃっとブラウザを自動操作する[Docker・Python]

VSCODDEでMultipassに接続

私は、MultipassにVSCODEを接続して、作業しています。
こちらの記事で、詳しく接続までの手順を書いています。
multipassのdockerに、VSCODEでSSH接続した件
今回は、 Ubuntuの仮想マシンではなく、Macで動いているMultipassのdockerが動いている仮想マシンに接続しています。

そして、このコマンドを実行しました。

ubuntu@docker:~/apps$ docker-compose exec python pytest /python/selenium_test.py
Command 'docker-compose' not found, but can be installed with:
sudo snap install docker          # version 20.10.12, or
sudo apt  install docker-compose  # version 1.25.0-1
See 'snap info docker' for additional versions.

私は、dockerが使えるので、dockerがすでにインストールされていると思ったのです。
でも、 Multipassのdockerを使ってもdockerのコンテナを使うことはできても、docker-composeが使えなかったのです。
Portainer
Portainerを使っていて、コンテナーが動いています。

訂正

dockerは、インストールされていました。

ubuntu@docker:~$ docker -v
Docker version 20.10.14, build a224086

docker-composeが、インストールされていませんでした。

ubuntu@docker:~$ docker-compose -v
docker-compose -v: command not found

Multipassでコンテナーを自分で作るときは、準備が必要

multipassのdockerで、Portainerに登録されているアプリのテンプレートを使うときは、便利だと思います。
でも、自分でコンテナーを作って開発したいときは、dockerのインストールが必要と学びました。

VSCODEは便利

VSCODEは、ターミナルが付いているので、ウィンドウを色々立ち上げなくても良いです。
それに、拡張機能もあるので、Pythonのエラーチェックなどもしてくれます。
エンジニアがコマンドラインで作業するのが早いと感じる理由が、良く分かりました。

今回も学び

私は、今回のSelenium IDEで記録した内容をdockerで動かせるように取り組むことは、色々な気づきを得ることができました。
それは、分からないことは、その場で検索して調べることを習慣にすることが大切ということです。
ネットで見つけたコードをコピペしてビルドしようとしても、書かれた記事が古くエラーになることは、多々あります。
そうしたときに、遭遇したエラーを丁寧に調べることで、コマンドや文法、ファイル構成などを学ぶことができます。
卒業してから社会に出ても、テレビやネットなどで見聞きする言葉で分からないものは、検索しましょうと言われます。
同じことです。
インターネットが発達してGoogle検索で、大抵のことは分かるので、疑問に思った時に調べる、検索するということをルーティーンにすることで、高見に向かって進むことができると思います。