Dockerを使ったレガシーシステムの開発環境の改善 / #RAKUSMeetup

Dockerを使ったレガシーシステムの開発環境の改善 / #RAKUSMeetup

JSP サーブレットの開発環境をDockerを使って改善した話をしました。
【大阪】カイゼンNight / RAKUS Meetup Osaka( https://rakus.connpass.com/event/134123/ )

5cf7e9533a457726cd51232e06c1da9a?s=128

Masashi Hirano

June 26, 2019
Tweet

Transcript

  1. DockerΛ࢖ͬͨ ϨΨγʔγεςϜͷ։ൃ؀ڥͷվળ ΧΠθϯNight / RAKUS Meetup Osaka Masashi Hirano(@shisama)

  2. ฏ໺ ণ࢜ / Masashi Hirano @shisama_ @shisama Node.js Core Collaborator

    ؔ੢NodeֶԂOrganizer
  3. Agenda • ϨΨγʔγεςϜͷ։ൃ؀ڥͷ໰୊఺ • DockerΛ࢖ͬͨվળ • ͭ·͍ͮͨͱ͜Ζ

  4. 10೥Քಇ͍ͯ͠ΔJSP & αʔϒϨοτͷ WebαʔϏεΛ։ൃɾӡ༻͍ͯ͠·͢ʂ

  5. ϨΨγʔγεςϜͷ։ൃͷݱ৔ • ϥΠϒϥϦ؅ཧ͕खಈɻlibͬͯϑΥϧμʹjar͕͍ͯΔ • σϓϩΠ͸खಈͷ෦෼͕ଟ͍ɻsshͰαʔόʔʹೖͬͯrsync • ։ൃ؀ڥͷߏங͕ਏ͗͢Δ

  6. ϨΨγʔγεςϜͷ։ൃͷݱ৔ • ϥΠϒϥϦ؅ཧ͕खಈɻlibͬͯϑΥϧμʹjar͕͍ͯΔ • σϓϩΠ͸खಈͷ෦෼͕ଟ͍ɻsshͰαʔόʔʹೖͬͯrsync • ։ൃ؀ڥͷߏங͕ਏ͗͢Δ

  7. ։ൃ؀ڥͷߏஙਏ͍఺ • ϩʔΧϧͱຊ൪ͰOS͕ҧ͏ • ಛఆͷOSͷखॱॻ͔͠ͳ͍ • ઃఆϑΝΠϧͷखಈͰͷฤू͕ଟ͍ • ؀ڥߏஙʹ͕͔͔࣌ؒΔ
 ⇛Javaʹෆ׳Εͩͱؙ2೔௵͢͜ͱʹͳΔ

  8. ϩʔΧϧͷ؀ڥߏஙվળ͍ͨ͜͠ͱ • ࣮ߦ؀ڥͷ౷Ұ • खॱͷࣗಈԽ • ޻਺ͷ࡟ݮ

  9. ϩʔΧϧͷ؀ڥߏஙվળ͍ͨ͜͠ͱ • ࣮ߦ؀ڥͷ౷Ұ • खॱͷࣗಈԽ • ޻਺ͷ࡟ݮ %PDLFSͰશ෦վળͰ͖ͦ͏ʂ

  10. ࣮ߦ؀ڥͷ౷Ұ • ຊ൪ͱಉ͡CentOSͷDockerΠϝʔδΛ࢖͏ • JavaɺTomcatͷόʔδϣϯΛݻఆ • ؀ڥม਺ͷઃఆ͸͢΂ͯDockerfileʹॻ͍ͯࣗಈԽ
 ⇛作成したイメージを社内DockerϨδετϦʹpush(ޙड़)

  11. 1VTI 1VMM 1VMM 1VMM ։ൃऀ" ։ൃऀ# ։ൃऀ$ ։ൃऀ%

  12. खॱͷࣗಈԽ • ΞϓϦέʔγϣϯݻ༗ͷઃఆ͕ॻ͔ΕͨϑΝΠϧΛ্ॻ͖͢Δ γΣϧΛ༻ҙ
 ⇛DB઀ଓઌͳͲͷconfigɺweb.xmlɺetc… • JavaͷϏϧυ΍Tomcatͷىಈ΋ίϯςφىಈ࣌ʹߦ͏
 ⇛entrypointͷγΣϧͰ࣮ߦ

  13. ޻਺ͷ࡟ݮ • jdk΍TomcatͷΠϯετʔϧ࡞ۀΛ࡟ݮ
 ⇛ίϯύΠϧ΋Dockerίϯςφ಺Ͱߦ͏ͨΊ • લड़ͷͱ͓ΓΞϓϦέʔγϣϯݻ༗ͷઃఆฤू΋ෆཁ • 1೔ʙ2೔͔͔Δ؀ڥߏங͕5෼Ͱ׬ྃ͢ΔΑ͏ʹͳͬͨ

  14. ͭ·͍ͮͨͱ͜Ζ΋͋Γ·ͨ͠

  15. ϗετ͕WindowsͩͱΤϥʔͳΔ • ৽نϑΝΠϧΛ࡞੒͢Δͱύʔϛογϣϯ͕644ʹͳ͍ͬͯΔ
 ⇛ίϯςφ͸LinuxͳͷͰ࣮ߦݖݶ͕ͳ͍ͱΤϥʔʹͳΔ
 ⇛WindowsͰϑΝΠϧ࡞੒ͨ͠Β755ʹ͢Δ • GitͰνΣοΫΞ΢τͨ͠ͱ͖ʹվߦίʔυ͕CRLFʹͳΔ
 ⇛Git for windowsͰൃੜ


    ⇛ίϯςφ͸LinuxͳͷͰLF͡Όͳ͍ͱ࣮ߦ࣌ʹΤϥʔʹͳΔ
 ⇛git config core.autocrlf=false
  16. https://qiita.com/uggds/items/00a1974ec4f115616580

  17. σόοά࣮ߦͷઃఆ͕ඞཁ • DockerίϯςφͩͱϦϞʔτσόοά͢Δඞཁ͕͋Δ • ϦϞʔτσόοά༻ͷϙʔτΛDockerfile಺Ͱ؀ڥม਺ʹઃఆ
 ENV JPDA_ADDRESS=“8000” • Tomcatىಈ࣌ʹjpdaΛ࢖͏
 /usr/local/tomcat/bin/catalina.sh

    jdpa start • ϗετ͔ΒϦϞʔτσόοά༻ͷϙʔτʹ઀ଓ
  18. None
  19. ͦͷଞʹ΋… • TomcatͷόΠφϦ͕μ΢ϯϩʔυͰ͖ͳ͍
 ⇛riken.jpͷFTPͷTomcat͸ݹ͍όʔδϣϯ͸͙͢࡟আ͞ΕΔ • λΠϜκʔϯ͕ຊ൪ͱҧ͏
 ⇛Dockerfile಺Ͱઃఆ • etc…

  20. DockerԽͨ͠੒Ռ • ։ൃ؀ڥߏஙͷ޻਺Λ࡟ݮ • ؀ڥͷ࠶ݱ͕༰қʹͳͬͨ • खॱॻΛ؆ུԽ

  21. ·ͱΊ • ϨΨγʔγεςϜͰ΋खॱԽ͞Ε͍ͯΔ΋ͷ͸ࣗಈԽͰ͖Δ • ։ൃ؀ڥʹDockerΛ࢖͏ͱେ෯ʹޮ཰ԽͰ͖Δ
 DockerfileͳͲ࡞ΔίετΛ͔͚ΔՁ஋͸େ͍ʹ͋Δʂʂ

  22. Thanks. @shisama_ @shisama