[基本環境]
- Python 3.7.3
- Docker 19.03.8
[注意]
- Docker SDK for Pythonを基にしたDocker制御ではない
- Subprocessを基にしたDocker制御である
- Dockerのオプションを多様したいなら、結局、Subprocessに落ち着く
[Dockerコンテナ一覧の取得]
- Dockerコマンドなら
- Pythonコードなら
- import subprocess
- comp = subprocess.run([‘docker’, ‘ps’, ‘-a’], encoding=‘utf-8’, stdout=subprocess.PIPE)
- print(comp)
[Dockerコンテナの起動]
- Dockerコマンドなら
- docker run -itd --priviledged -p 80:80/tcp --name websrv debian:stable
- Pythonコードなら
- import subprocess
- comp = subprocess.run([‘docker’, ‘run’, ‘-itd’, ‘--priviledged’, ‘-p’, ‘80:80/tcp’, ‘--name’, ‘websrv’, ‘debian:stable’], encoding=‘utf-8’, stdout=subprocess.PIPE)
- print(comp)
[まとめ]
- subprocess.runの第一引数のリストにコマンドとオプションを列挙することで、オプションが増えても気にせず実行できる