Closed hrsano645 closed 3 years ago
動作させてみました。 (結果) 現状のコンテナを使い、WindowsPCから開発しようとすると、 bat.shの実行に必要なものしかないため、開発ができない状態です。 ここが改善されると、もっとよくなると思いました。 (詳細) ・docker-compose up --buildでbat.shを実行することができました→〇
F:\Users\Akira\Documents\project\pr49_2>docker-compose up --build
Creating network "pr49_2_default" with the default driver
Building generator
failed to get console mode for stdout: The handle is invalid.
[+] Building 1.4s (9/9) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 32B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/python:3.8 1.1s
=> [1/4] FROM docker.io/library/python:3.8@sha256:e31b6fa30c3204b2af4f08 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 60B 0.0s
=> CACHED [2/4] WORKDIR /code 0.0s
=> CACHED [3/4] COPY patients.py /code 0.0s
=> CACHED [4/4] COPY bat.sh /code 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:b24b47c796e8a7b329f0686876a716e752f5b3724d6ff 0.0s
=> => naming to docker.io/library/pr49_2_generator 0.0s
Successfully built b24b47c796e8a7b329f0686876a716e752f5b3724d6ff024e3c806b64c91b7a8
Creating covid19-data-generator-shizuokapref ... done
Attaching to covid19-data-generator-shizuokapref
covid19-data-generator-shizuokapref | ===[地域名: ]===
covid19-data-generator-shizuokapref | ===[generate data.json]===
covid19-data-generator-shizuokapref | % Total % Received % Xferd Average Speed Time Time Time Current
covid19-data-generator-shizuokapref | Dload Upload Total Spent Left Speed
100 12901 100 12901 0 0 56832 0 --:--:-- --:--:-- --:--:-- 56832
covid19-data-generator-shizuokapref | % Total % Received % Xferd Average Speed Time Time Time Current
covid19-data-generator-shizuokapref | Dload Upload Total Spent Left Speed
100 526k 100 526k 0 0 1571k 0 --:--:-- --:--:-- --:--:-- 1566k
covid19-data-generator-shizuokapref | % Total % Received % Xferd Average Speed Time Time Time Current
covid19-data-generator-shizuokapref | Dload Upload Total Spent Left Speed
100 11505 100 11505 0 0 63916 0 --:--:-- --:--:-- --:--:-- 63916
covid19-data-generator-shizuokapref | % Total % Received % Xferd Average Speed Time Time Time Current
covid19-data-generator-shizuokapref | Dload Upload Total Spent Left Speed
100 160 100 160 0 0 833 0 --:--:-- --:--:-- --:--:-- 833
covid19-data-generator-shizuokapref exited with code 0
・そこで、patients.pyを修正しテストしようと思いました。 ・コンテナの実行状態を確認すると、bat.shを実行しExitしています。
F:\Users\Akira\Documents\project\pr49_2>docker-compose ps
Name Command State Ports
--------------------------------------------------------------------
covid19-data-generator-shizuokapref bash ./bat.sh Exit 0
・そのため、docker-compose runコマンドで再度コンテナを起動し、コンテナ内に入ります。 ・テストを実行しようとtestディレクトリに移動しようとしましたが、コンテナ内にはtestディレクトリがありませんでした。→✕
F:\Users\Akira\Documents\project\pr49_2>docker-compose run generator /bin/bash
Creating pr49_2_generator_run ... done
root@86d9cb38600b:/code# ls
bat.sh dist patients.py
root@86d9cb38600b:/code#
@aktnk (docker)-compose自体まだよくわかっていないので、手取り足取りな形で申し訳ないです🙏
・そこで、patients.pyを修正しテストしようと思いました。 ・コンテナの実行状態を確認すると、bat.shを実行しExitしています。
patients.pyを修正するためにコンテナに入るのはちょっと面倒ですよね…全体をdocker-composeのvolumesを使ってマウントして、ローカルでの変更をそのままコンテナ上で実行できるようにしてみます。
@aktnk 対応してみました。-> https://github.com/hrsano645/covid19-gen-datajson-shizuokapref/tree/c6989a33bf464696ffbe8bd416ffd286635976f7
venvをDockerfileで作成するようにして、スクリプトの実行やテストの実行も行えるようにしてみました。
また、docker-compose.yml を見直してローカルのファイルをそのままコンテナ側で参照するようにしました。ローカル側で変更してもbuildしなくてよくなるはずです。distディレクトリもやめて、プロジェクト内の直下にjsonファイルが生成されるようにしています。
docker-compose build
docker-compose run generator
or docker-compose up
docker-compose run generator pytest
docker-compose run generator /bin/bash
このDockerfile,docker-compose.yml はnews.json生成のbat.shでも動作できるようにもなってます。それについては #48 でまた言及します。
@aktnk こちらこそお付き合いいただいてありがたかったです!(めちゃくちゃ勉強になりました🙏
👏 解決する issue / Resolved Issues
📝 関連する issue / Related Issues
10
⛏ 変更内容 / Details of Changes
docker-compose up --build
で実行します📸 スクリーンショット / Screenshots
Ubuntu 18.04での動作確認
Win10 + Docker Desktop での動作確認