Tôi có một tập tin Docker cố gắng để triển khai mã Django để một containerLàm thế nào để cập nhật mã từ Git để một container Docker
FROM ubuntu:latest
MAINTAINER { myname }
#RUN echo "deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -sc) main universe" >> /etc/apt/sou$
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y tar git curl dialog wget net-tools nano buil$
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python python-dev python-distribute python-p$
RUN mkdir /opt/app
WORKDIR /opt/app
#Pull Code
RUN git clone [email protected]/{user}/{repo}
RUN pip install -r website/requirements.txt
#EXPOSE = ["8000"]
CMD python website/manage.py runserver 0.0.0.0:8000
Và sau đó tôi xây dựng mã của tôi như docker build -t dockerhubaccount/demo:v1 .
, và điều này kéo mã của tôi từ Bitbucket để thùng chứa. Tôi chạy nó như docker run -p 8000:8080 -td felixcheruiyot/demo:v1
và mọi thứ dường như hoạt động tốt.
Bây giờ tôi muốn cập nhật mã tức là kể từ khi tôi sử dụng git clone ...
, tôi có sự nhầm lẫn này:
- Làm thế nào tôi có thể cập nhật mã của tôi khi tôi có cam kết mới và khi container Docker xây dựng nó tàu với mã mới (lưu ý: khi tôi chạy build nó không lấy nó vì cache).
- Quy trình làm việc tốt nhất cho loại phương pháp này là gì?
Tôi sẽ nhận 2 câu trả lời. Tôi nghĩ rằng nó có ý nghĩa hơn kể từ khi chạy --no-cache sẽ cài đặt mọi thứ một cách tiếp cận mới, không phải là tốt. Cảm ơn sự đóng góp của bạn. –
nếu một người nào đó thực thi 'docker exec -it con/tainer bash' - điều đó sẽ chạy' bash' thay vì bất cứ điều gì được chỉ định trong 'CMD'. Dường như với tôi rằng cả hai tùy chọn là khá tối ưu, và điều này phải là vấn đề rất phổ biến - tôi cảm thấy cần có một cách để vô hiệu hóa bộ nhớ đệm ở giữa 'Dockerfile'. – avloss