Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΡΠΎ Π² ΠΌΠΎΠ΅ΠΌ Dockerfile:
...
CMD bash on-start.sh
Π― ΠΌΠΎΠ³Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ, ΠΈ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ.
$ docker run -it imagename
$ _
ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
$ docker-compose up
...
exited with code 0
ΠΡΠ»ΠΈ Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Ρ, ΡΡΠΎ ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ Π½Π΅ Π·Π°ΠΏΡΡΡΡΡΡΡ.
$ docker-compose run myservice
$ _
ΠΠΎΠΈ Π²Π΅ΡΡΠΈΠΈ:
$ docker --version
Docker version 1.10.0, build 590d5108
$ docker-compose --version
docker-compose version 1.6.0, build d99cad6
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ stdin_open: true Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ Compose.
ΠΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. up
Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π²Π°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ stdin ΠΎΡΠΊΡΡΡ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
run
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°ΡΡ ΡΠΎ, ΡΡΠΎ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ depends_on
ΠΎΠ½ Π·Π°ΠΏΡΡΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Compose 1.6.2 (ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ»Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ββΠ² compose 1.6.1), ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.
@dnephin
ΠΡΠ½ΠΈΠ΅Π», Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΡ Π²Π°Ρ Π·Π° Π²Π°ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅. Π― Π΄Π²Π° Π΄Π½Ρ ΠΈΠ·ΠΎ Π²ΡΠ΅Ρ
ΡΠΈΠ» ΠΏΡΡΠ°Π»ΡΡ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Node, Π³Π΄Π΅ ΠΌΠ½Π΅ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π½Π° Π·Π°Π΄Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. Π€ΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° Π²Π°ΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΠΊΠΈ Π·Π°ΡΡΠ°Π²ΠΈΠ»Π° ΠΌΠ΅Π½Ρ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΠΌΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠΎΠ»Π³ΠΎΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΊΠ΅ΡΠΎΠ² (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΠΏΡΡΠΊΠ°) Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ.
Π― Ρ
ΠΎΡΠ΅Π» ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ pdb ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Python, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌΡ Π² ΡΡΠ΅Π΄Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎΠΊΠ΅ΡΠΎΠ². ΠΠΠΠ Π― ΠΌΠΎΠ³Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ docker attach myservice
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ stdin_open: true Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ Compose.