Docker là một nền tảng công nghệ giúp đơn giản hóa việc xây dựng, triển khai và quản lý ứng dụng bằng cách sử dụng các containers. Nó cho phép bạn đóng gói ứng dụng và tất cả các phụ thuộc của nó vào một container độc lập với môi trường, giúp đảm bảo rằng ứng dụng sẽ hoạt động đúng cách trên mọi máy tính hoặc môi trường máy chủ.
docker version
// or
docker info
HTTP
hoặc Unix socket
và thực hiện yêu cầu.docker image là một file bất biến – không thay đổi, chứa các source code, libraries, dependencies, tools và các files khác cần thiết cho một ứng dụng để chạy.
snapshots
. Chúng đại diện cho một application và virtual environment của nó tại một thời điểm cụ thể. Nó cho phép các developers sử dụng một môi trường thống nhất để phát triển.Container là một thể hiện thực của một image. Nó bao gồm một môi trường chạy độc lập, chứa tất cả các thành phần cần thiết để chạy ứng dụng, bao gồm cả các thay đổi và cấu hình thêm.
virtualization
) xảy ra ở tầng phần cứng mà chúng ảo hóa ở lớp ứng dụng. Nó dùng 1 máy chia sẻ kernel và làm giả môi trường để chạy một cách độc lập nên không hề tốn tài nguyên như máy ảo.Containers và Images là hai khái niệm cơ bản nhưng rất quan trọng trong Docker, là nền tảng cho việc đóng gói, triển khai và quản lý ứng dụng trong môi trường container. Mỗi container được tạo ra từ một image cụ thể. Một image có thể được sử dụng để tạo nhiều containers khác nhau, mỗi container có thể chạy với một tập hợp cấu hình và môi trường khác nhau.
Và Image có thể tồn tại mà không cần container, trong khi container chạy thì cần có image đã tồn tại. Vì vậy, container phụ thuộc vào image và sử dụng nó để tạo ra run-time environment và chạy ứng dụng trên đó.
Dockerfile là một tệp văn bản chứa một loạt các chỉ thị (instructions
) cho quá trình xây dựng một Docker image. Nó được sử dụng để định nghĩa cách mà image sẽ được tạo ra, bao gồm các bước để cài đặt các phần mềm, cấu hình môi trường, và chạy các lệnh khởi động.
Ví dụ: Tạo ra một image chứa một ứng dụng web Node.js
FROM node:alpine
# Đặt thư mục làm việc mặc định
WORKDIR /app
# Sao chép package.json và package-lock.json vào container
COPY package*.json ./
# Cài đặt dependencies
RUN npm install
# Sao chép các file trong thư mục nguồn vào container
COPY . .
# Mở cổng 3000 để truy cập ứng dụng web
EXPOSE 3000
# Chạy lệnh để khởi động ứng dụng web
CMD ["node", "app.js"]
Để chạy file trên bạn cần cd tới app của mình sau đó chạy lệnh sau trên teminal:
docker build -t myapp .
docker run -p 3000:3000 myapp
trong đó:
docker build
dùng để build docker image từ dockerfile.-t myapp
: đặt tên và tag cho image là myapp
.
chỉ đường dẫn tới thư mục chứa Dockerfile (trong trường hợp Dockerfile được đặt cùng với thư mục bạn đang ở).docker run
để chạy docker container từ image vừa tạo.-p 3000:3000
mở cổng 3000 trên máy host và liên kết với cổng 3000 trong container.myapp
là tên của image bạn đã build trước đó.Sau khi đã chạy docker lên bạn chỉ cần sh
vào container để chạy các app của mình như bình thường.
docker exec -it myapp sh
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE