💭

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

2022/04/03に公開

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

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

VSCODDEでMultipassに接続

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

私が参考にした記事では、エラーが出ました。
Selenium+Selenium IDEでちゃちゃっとブラウザを自動操作する[Docker・Python]

そのため上記の記事のソースコードで、一部を修正しました。

version: "3"
services:
  chrome:
    image: selenium/standalone-chrome:4.1.3-20220327
    shm_size: 2gb
    ports:
      - "4444:4444"
      - "7900:7900"
  python:
    build: ./python
    volumes:
      - ./python:/python
    tty: true

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

docker-compose up -d
docker-compose exec python pytest /python/selenium_test.py

このコマンドで、正常に使えました。

無事に、noVNCに接続できました。

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

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

VSCODEは便利

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

今回も学び

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

Discussion