Tạo docker image với chỉ dẫn lệnh EXPOSE - quan1997ap/Backend-app-note GitHub Wiki

https://hocdevops.com/devops-labs/docker-labs/bat-dau-docker-file/15-tao-docker-image-voi-chi-dan-lenh-expose/#:~:text=Trong%20Dockerfile%2C%20EXPOSE%20l%C3%A0%20m%E1%BB%99t,%C4%91%C6%B0%E1%BB%A3c%20khai%20b%C3%A1o%20khi%20ch%E1%BA%A1y.

   docker run -p [port ngoài host]:[port trong container] tên_image

Trong Dockerfile, EXPOSE là một chỉ thị được sử dụng để khai báo các cổng mạng mà container Docker sẽ lắng nghe khi chạy.

Chỉ thị EXPOSE không mở các cổng trên host machine hoặc container, mà chỉ thông báo rằng container sẽ lắng nghe các cổng đã được khai báo khi chạy. Để thực tế mở các cổng và kết nối chúng với các cổng trên host machine, bạn cần sử dụng tùy chọn -p hoặc –publish khi chạy lệnh docker run.

Cú pháp của EXPOSE trong Dockerfile như sau:

 EXPOSE <port1> [<port2>...]

, , vv.: Các cổng mạng mà container sẽ lắng nghe.

Ví dụ, để khai báo rằng container sẽ lắng nghe cổng 80 và 443, bạn có thể thêm dòng sau vào Dockerfile:

   EXPOSE 80 443

Khi chạy container từ image đã xây dựng, bạn có thể mở các cổng trên host machine và kết nối chúng với các cổng trong container bằng cách sử dụng -p hoặc –publish:

   docker run -p 8080:80 -p 8443:443 tên_image

Trong ví dụ trên, cổng 80 trong container sẽ được kết nối với cổng 8080 trên host machine và cổng 443 trong container sẽ được kết nối với cổng 8443 trên host machine.

Chú ý rằng chỉ thị EXPOSE chỉ là một khai báo trong Dockerfile và không thực hiện thay đổi trên host machine hoặc container. Nó chỉ thông báo rằng các cổng đã được khai báo sẽ được container lắng nghe. Việc mở và kết nối các cổng thực tế sẽ được thực hiện khi chạy container bằng lệnh docker run với tùy chọn -p hoặc –publish.

⚠️ **GitHub.com Fallback** ⚠️