Container (Docker)
Hướng dẫn Docker & Compose - YouTube
Tiếng Pháp, phụ đề tiếng Anh: Understanding Docker in a visual way - YouTube
-
-:
-
Ảnh:
- Lớp là một ảnh tạm được sinh ra từ mỗi dòng trong dockerfile
- Mỗi một dòng trong dockerfile sẽ tương ứng với một bước khi dựng ảnh, cũng là một ảnh tạm
- Nếu cần xóa các tệp tạm được tạo ra từ một lệnh khác thì dùng trong một lệnh RUN, đừng tách thành hai lệnh
- Nếu dựng lại ảnh mà đánh tag giống nhau thì ảnh cũ sẽ thành ảnh treo (dangling image)
- Việc dựng ảnh được thiết lập qua dockerfile
- Ảnh là template để chạy container
-
Container:
- Bản chất của việc tắt container là tắt tiến trình PID 1
- Container là phù du
- Container chỉ là một tiến trình. Nó không có nhân hệ điều hành, mà lấy ở hệ điều hành gốc luôn
- Docker mặc định sinh ra IP ngẫu nhiên cho container. Không có DNS hoặc static IP management thì service không thể biết nhau
- exec để chạy lệnh cho một container đang chạy
- Mặc định là container sẽ chạy bằng quyền root. Dùng USER để chỉ định người dùng
-
Động cơ:
- CLI client lúc thì được nói là nằm trong động cơ, lúc thì được nói là nằm ngoài
- Docker Desktop tạo ra một máy ảo để chạy động cơ docker. Trên Windows thì WSL chính là máy ảo đó
- Trong trường hợp của Docker Desktop, CLI client nằm ở máy host, còn daemon nằm ở máy ảo
- Động cơ bao gồm CLI client, API và daemon
- Có vẻ như ban đầu động cơ Docker được hiểu là chính là daemon