JSP サーブレットの開発環境をDockerを使って改善した話をしました。 【大阪】カイゼンNight / RAKUS Meetup Osaka( https://rakus.connpass.com/event/134123/ )
DockerΛͬͨϨΨγʔγεςϜͷ։ൃڥͷվળΧΠθϯNight / RAKUS Meetup OsakaMasashi Hirano(@shisama)
View Slide
ฏ ণ࢜ / Masashi Hirano@shisama_@shisamaNode.js Core CollaboratorؔNodeֶԂOrganizer
Agenda• ϨΨγʔγεςϜͷ։ൃڥͷ• DockerΛͬͨվળ• ͭ·͍ͮͨͱ͜Ζ
10Քಇ͍ͯ͠ΔJSP & αʔϒϨοτͷWebαʔϏεΛ։ൃɾӡ༻͍ͯ͠·͢ʂ
ϨΨγʔγεςϜͷ։ൃͷݱ• ϥΠϒϥϦཧ͕खಈɻlibͬͯϑΥϧμʹjar͕͍ͯΔ• σϓϩΠखಈͷ෦͕ଟ͍ɻsshͰαʔόʔʹೖͬͯrsync• ։ൃڥͷߏங͕ਏ͗͢Δ
։ൃڥͷߏஙਏ͍• ϩʔΧϧͱຊ൪ͰOS͕ҧ͏• ಛఆͷOSͷखॱॻ͔͠ͳ͍• ઃఆϑΝΠϧͷखಈͰͷฤू͕ଟ͍• ڥߏஙʹ͕͔͔࣌ؒΔ ⇛Javaʹෆ׳Εͩͱؙ2௵͢͜ͱʹͳΔ
ϩʔΧϧͷڥߏஙվળ͍ͨ͜͠ͱ• ࣮ߦڥͷ౷Ұ• खॱͷࣗಈԽ• ͷݮ
ϩʔΧϧͷڥߏஙվળ͍ͨ͜͠ͱ• ࣮ߦڥͷ౷Ұ• खॱͷࣗಈԽ• ͷݮ%PDLFSͰશ෦վળͰ͖ͦ͏ʂ
࣮ߦڥͷ౷Ұ• ຊ൪ͱಉ͡CentOSͷDockerΠϝʔδΛ͏• JavaɺTomcatͷόʔδϣϯΛݻఆ• ڥมͷઃఆͯ͢Dockerfileʹॻ͍ͯࣗಈԽ ⇛作成したイメージを社内DockerϨδετϦʹpush(ޙड़)
1VTI1VMM 1VMM 1VMM։ൃऀ"։ൃऀ# ։ൃऀ$ ։ൃऀ%
खॱͷࣗಈԽ• ΞϓϦέʔγϣϯݻ༗ͷઃఆ͕ॻ͔ΕͨϑΝΠϧΛ্ॻ͖͢ΔγΣϧΛ༻ҙ ⇛DBଓઌͳͲͷconfigɺweb.xmlɺetc…• JavaͷϏϧυTomcatͷىಈίϯςφىಈ࣌ʹߦ͏ ⇛entrypointͷγΣϧͰ࣮ߦ
ͷݮ• jdkTomcatͷΠϯετʔϧ࡞ۀΛݮ ⇛ίϯύΠϧDockerίϯςφͰߦ͏ͨΊ• લड़ͷͱ͓ΓΞϓϦέʔγϣϯݻ༗ͷઃఆฤूෆཁ• 1ʙ2͔͔Δڥߏங͕5Ͱྃ͢ΔΑ͏ʹͳͬͨ
ͭ·͍ͮͨͱ͜Ζ͋Γ·ͨ͠
ϗετ͕WindowsͩͱΤϥʔͳΔ• ৽نϑΝΠϧΛ࡞͢Δͱύʔϛογϣϯ͕644ʹͳ͍ͬͯΔ ⇛ίϯςφLinuxͳͷͰ࣮ߦݖݶ͕ͳ͍ͱΤϥʔʹͳΔ ⇛WindowsͰϑΝΠϧ࡞ͨ͠Β755ʹ͢Δ• GitͰνΣοΫΞτͨ͠ͱ͖ʹվߦίʔυ͕CRLFʹͳΔ ⇛Git for windowsͰൃੜ ⇛ίϯςφLinuxͳͷͰLF͡Όͳ͍ͱ࣮ߦ࣌ʹΤϥʔʹͳΔ ⇛git config core.autocrlf=false
https://qiita.com/uggds/items/00a1974ec4f115616580
σόοά࣮ߦͷઃఆ͕ඞཁ• DockerίϯςφͩͱϦϞʔτσόοά͢Δඞཁ͕͋Δ• ϦϞʔτσόοά༻ͷϙʔτΛDockerfileͰڥมʹઃఆ ENV JPDA_ADDRESS=“8000”• Tomcatىಈ࣌ʹjpdaΛ͏ /usr/local/tomcat/bin/catalina.sh jdpa start• ϗετ͔ΒϦϞʔτσόοά༻ͷϙʔτʹଓ
ͦͷଞʹ…• TomcatͷόΠφϦ͕μϯϩʔυͰ͖ͳ͍ ⇛riken.jpͷFTPͷTomcatݹ͍όʔδϣϯ͙͢আ͞ΕΔ• λΠϜκʔϯ͕ຊ൪ͱҧ͏ ⇛DockerfileͰઃఆ• etc…
DockerԽͨ͠Ռ• ։ൃڥߏஙͷΛݮ• ڥͷ࠶ݱ͕༰қʹͳͬͨ• खॱॻΛ؆ུԽ
·ͱΊ• ϨΨγʔγεςϜͰखॱԽ͞Ε͍ͯΔͷࣗಈԽͰ͖Δ• ։ൃڥʹDockerΛ͏ͱେ෯ʹޮԽͰ͖Δ DockerfileͳͲ࡞ΔίετΛ͔͚ΔՁେ͍ʹ͋Δʂʂ
Thanks.@shisama_@shisama