Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dockerを使ってみよう / #kosenconf131hokkaido

さたけ
August 17, 2019
180

Dockerを使ってみよう / #kosenconf131hokkaido

さたけ

August 17, 2019
Tweet

Transcript

  1. PythonΛಈ͔ͯ͠ΈΔ print("Hello, world") # pythonͷΠϝʔδΛݩʹ͢Δ FROM python:3.7 # Helloworld.pyΛίϯςφʹίϐʔ COPY

    helloworld.py / # ίϯςφىಈ࣌ʹ࣮ߦ͢ΔίϚϯυΛࢦఆ CMD ["python", "/helloworld.py"] Dockerfile Helloworld.py
  2. $ # Docker ΠϝʔδΛ $ # python-hello-world ͱ͍͏໊લͰ࡞੒͢Δ $ docker

    build -t python-hello-world . # ...লུ $ # python-hello-world ͱ͍͏ $ # DockerΠϝʔδΛ࣮ߦ͢Δ $ docker run python-hello-world Hello, world
  3. Bind mounts / Volumes • Bind mounts
 ϗετͷϑΝΠϧɾσΟϨΫτϦΛ
 ίϯςφ಺ʹϚ΢ϯτ͢Δػೳ •

    Volumes
 Docker͕؅ཧ͢ΔྖҬΛ
 ίϯςφ಺ʹϚ΢ϯτ͢Δػೳ ίϚϯυ࣮ߦ࣌ʹ -v /path/to/dir:/path/to/conteiner
  4. $ # Docker ΠϝʔδΛ $ # python-hello-world ͱ͍͏໊લͰ࡞੒͢Δ $ docker

    build -t python-hello-world . # ...লུ $ # python-hello-world ͱ͍͏ $ # DockerΠϝʔδΛ࣮ߦ͢Δ $ docker run python-hello-world Hello, world ͖࣮ͬ͞ߦͨ͠ίʔυ΋
  5. $ docker run \ # ݱࡏͷσΟϨΫτϦΛίϯςφ಺ͷ/dirʹϚ΢ϯτ -v ${PWD}:/dir \ python:3.7

    \ # ࣮ߦ͢ΔίϚϯυ python /dir/helloworld.py Hello, world Bind mount Λ࢖͑͹͜Ε͚ͩ