#目的
docker-composeでDockerコンテナを動かした場合のコンテナ内で動作するコードのデバッグ.PycharmによるRemote Debugは設定が大変そうだったので断念し,pdbを使ったデバッグを試みた.
参照:https://stackoverflow.com/questions/30854967/docker-compose-and-pdb#comment56942332_30901026
#方法
ソースコードにpdbを挿入
/tmp/main.py
import pdb;
if __name__ == "__main__":
pdb.set_trace()
ymlファイルにstdin_open: true
とtty: true
を追加
(docker runにおける-i, -tオプションと効果は同様)
docker-compose.yml
version: '2'
services:
sample:
image: "test"
command: ["python", "/tmp/main.py"]
stdin_open: true
tty: true
...
対象コンテナをdocker-compose docker-compose.yml up -d
で起動後,docker attach <containerid>
で対象のコンテナにattachすると,(pdb)のコンソールが起動してする.