Skip to content

Module 2: Docker 🐳

📝 Stats

  • Số lượng: 5 câu hỏi
  • Độ khó: Trung bình

MCQ

Q1. Tại sao nên dùng rocker/r-ver làm base image thay vì ubuntu thường?

  • [ ] Vì nó đẹp hơn.
  • [ ] Vì nó đã cài sẵn R và cố định version R (Reproducibility).
  • [ ] Vì nó nhẹ hơn Alpine.

Đáp án: Vì nó đã cài sẵn R và cố định version R.

Q2. Lệnh COPY nào đúng để copy toàn bộ thư mục hiện tại vào /app trong container?

  • [ ] COPY . /app
  • [ ] COPY /app .
  • [ ] RUN copy . /app

Đáp án: COPY . /app.


Coding Challenge

Challenge: Dockerfile Check

Tìm lỗi sai trong Dockerfile sau:

dockerfile
FROM rocker/r-ver:4.0.0
# Quên cài system dependency cho tidyverse (libxml2, etc.)
RUN R -e "install.packages('tidyverse')"
CMD ["R"]

Sửa: Gói tidyverse cần rất nhiều thư viện Linux hệ thống (libxml2-dev, libssl-dev...) để biên dịch. Cần thêm lệnh RUN apt-get update && apt-get install ... trước khi cài package R.