Thumbnail
Category: Lập trình

Docker study

Date: November 30, 2024
19 views




1. Các khái niệm chính

  • Dockerfile: không có đuôi file
  • DockerImage
  • Container
  • DockerHub: docker image do cộng đồng đóng góp
  • Docker Compose
  • Volumn
  • Docker Client
  • Docker Server
  • Docker registry

Quy trình docker:

Dockerfile => (build) => DockerImage => (Run) => Container

 

Life cycle:

1.1 Docker trên Window

Gồm 3 tầng:

  • Docker CLI: cài lên máy window
  • Rest API: giao tiếp giữa Docker CLI và Docker Daemon
  • Docker Daemon: Cài lên Linux (do đó Windows cần bật Hyper-v)

2. Dockerfile

FROM   // Dựa vào docker image nào?
WORKDIR  // Làm việc bên trong folder nào?
COPY   // copy file trên máy vào docker image
RUN    // cài đặt những thư viện gì?
EXPOSE  // mở cổng
CMD    // chạy lệnh cmd, chỉ được 1 lệnh cmd thôi
ENV


RUN apt-get install python3 // -y: Khi lệnh cần input, nó sẽ push chữ y mặc định


3. Docker Command

docker -v
docker images
docker ps       // hiện container đang chạy
docker ps -a     // hiện container đã kết thúc
  
docker run tenImage  // tạo và exit
docker run -d tenImage // -d: detact - chạy ngầm
docker run -it tenImage bash // Tạo và chạy chui vào container
 						// nhấn Ctrl + D để thoát
 						// nhấn Ctrl + P + D để tắt nhưng container vẫn chạy
docker run -rm tenImage // chạy 1 lần, sau khi chạy thì xóa luôn
  
docker build
docker build -t tenImage . // -t:khai báo tên .: tìm Dockerfile tại đây
  
docker pull
docker push
  
docker rm idContainer // xóa nhiều thì các id cách nhau bằng space
docker rmi idImage
docker container prunce // xóa những cái không sử dụng nữa
docker image prunce
  
docker exec idContainer command
//SSH:
docker exec -it containerID sh
// or
docker exec -it containerID bash
  
// Mapping port
docker run -p 80:80 -d tenImage // -p port máy: port docker


4. Docker Compose

docker-compose up -d tenService
docker-compose down
docker-compose stop
docker-compose log -f tenService

5. Upload DockerHub

docker login
docker tag tenImage username/tenImage:tenImageTag
docker push username/tenImage:tenImageTag
  
.dockerignore
docker-compose up -d
docker-compose build

Copyright © 2025 All Right Reserved