Docker study
Contents
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