Tôi đang cố gắng để xây dựng một vài container docker và tôi tìm thấy quá trình lặp lại của chỉnh sửa Dockerfile, và các kịch bản chạy bên trong nó, clunky. Tôi đang tìm kiếm các phương pháp hay nhất và tìm hiểu xem người khác đi như thế nào.Cách tốt nhất để lặp lại khi xây dựng một thùng chứa docker là gì?
quá trình ban đầu của tôi là:
docker build -t mycontainer mycontainer
docker run mycontainer
docker exec -i -t < container id > "/bin/bash" # get into container to debug
docker rm -v < container id >
docker rmi mycontainer
- Lặp lại
Điều này cảm thấy tốn kém cho mỗi lần lặp lại, đặc biệt nếu đó là lỗi đánh máy.
quá trình thay thế này đòi hỏi một chút ít lặp:
- Install vim trong dockerfile
docker run mycontainer
docker exec -i -t < container id > "/bin/bash" # get into container to edit scripts
docker cp
để sao chép các tập tin đã chỉnh sửa ra khi hoàn tất.- Nếu tôi cần chạy bất kỳ lệnh nào, tôi cẩn thận nhớ và cập nhật Dockerfile bên ngoài vùng chứa.
- Rebuild hình ảnh mà không vim
Điều này đòi hỏi lặp đi lặp lại ít hơn, nhưng không phải là không đau vì mọi thứ đều rất thủ công và tôi phải nhớ mà tập tin thay đổi và đã cập nhật.
một sidenote, bạn nói 'docker exec -i -t"/bin/bash "# vào trong thùng chứa để gỡ lỗi' bạn có thể làm' docker exec -i -t $ (docker ps -lq) "/ bin/bash "' do đó, nó là tự động –
user2915097
trong thực tế, bạn nên làm 2 và 3 trong một lệnh 'docker run ... && docker exec ...' để bạn chắc chắn nhập vào container của bạn và không phải một số khác – user2915097