Rumah  >  Soal Jawab  >  teks badan

flask - 为什么每次当我workdir所对应的文件的内容发生变化,要重新build images,然后生成container才会生效

dockerfile没有改变,只是workdir所对应的容器外部的文件发生了改变

  1. 请问这是必须的么,如果是这样的话,是要用docker compose-up 自动简化这个过程?

  2. 如果不是必须的话,因为我的dockerfile的问题么?
    dockerfile如下:

    FROM ubuntu
    MAINTAINER Tarty.Phoenix <tartyphoenix@gmail.com>
    RUN apt-get update
    RUN apt-get install -y -q python-all python-pip libffi-dev
    RUN apt-get install -y -q python-dev build-essential
    ADD ./flask_pure/requirements.txt /tmp/requirements.txt
    RUN pip install -qr /tmp/requirements.txt
    
    ADD ./flask_pure /opt/flask_pure/
    WORKDIR /opt/flask_pure
    
    EXPOSE 80
    CMD ["python", "manage.py", "runserver"]
大家讲道理大家讲道理2758 hari yang lalu527

membalas semua(3)saya akan balas

  • 巴扎黑

    巴扎黑2017-04-24 09:12:59

    1. Pertama sekali, direktori yang diwakili oleh workdir ialah direktori dalam bekas, bukan hos.

    2. Perubahan kandungan berikut memerlukan pembinaan semula imej

      • Fail Docker itu sendiri berubah

      • Perubahan fail sumber untuk arahan SALIN / TAMBAH

    3. docker-compose menyokong membina semula imej semasa operasi

      service:
          - build: <image_base_dir>

    balas
    0
  • 怪我咯

    怪我咯2017-04-24 09:12:59

    Ada satu perkara dalam soalan anda yang perlu saya jelaskan kepada anda.
    Selepas mencipta dan mengedit fail docker, build mencipta imej (cermin), dan kemudian menjalankan imej untuk menjana bekas (bekas Kemudian imej dan bekas mempunyai surat-menyurat satu dengan satu). Kemudian apabila anda mengedit fail docker dan menukar workdir, bekas yang anda buat sudah tentu akan memasuki workdir baharu secara lalai. Oleh itu, tajuk soalan anda tidak seharusnya menerangkan soalan, tetapi huraian logik yang betul.

    balas
    0
  • 迷茫

    迷茫2017-04-24 09:12:59

    Pemahaman anda tentang buruh pelabuhan adalah salah Apa yang anda lakukan hanyalah membungkus kandungan folder tertentu ke dalam imej.
    Adalah disyorkan agar anda memahami konsep volum VOLUME dalam docker Hanya dengan menyatakan parameter -v apabila memulakan bekas atau menentukan parameter VOLUME dalam docker-compose.yml boleh kontena melekapkan direktori tempatan.

    Jadi bagaimana untuk membezakan sama ada bekas itu perlu dipasang ke direktori tempatan Pemahaman saya sama ada dalam status pembangunan atau status pengeluaran?
    Jika anda berada dalam keadaan pembangunan dan kod tersebut perlu kerap ditukar, sukar untuk menerima bahawa setiap kali kod itu diubah suai, ia perlu dibungkus semula ke dalam imej.
    Jika anda sedang dalam pengeluaran, bayangkan terdapat begitu banyak imej pada Docker Hub Jika imej ini memberikan anda persekitaran pemasangan dan kod sumber, maka anda perlu menentukan VOLUME secara manual untuk melekapkan direktori kod sumber, dan kemudian. mula Bekas akan disusun dan dipasang Apakah pendapat anda tentang pengalaman ini?

    balas
    0
  • Batalbalas