Tiếp tục với bài trước, hôm nay chúng ta sẽ đi qua những nhánh tiếp theo của docker foundation - những kiến thức nền tảng của docker. Nhìn một cách tổng quan về nội dung của những kiến thức nền tảng
Build Container Image
Chúng ta sẽ tiến hành build một container image, ở đây chủ yếu ôn lại kiến thức về Dockerfile đã học ở bài trước
Step 1 - Base Images
Tất cả các Docker Images đều bắt đầu từ một base image. Base image này giống với image mà chúng ta tải trực tiếp từ các Registry về để xây dựng các container. Bên cạnh dùng tên, các base image còn dùng tag
để phân biệt giữa các phiên bản trong cùng 1 image.
Trong Dockerfile, ta dùng FROM
để chỉ định base image sử dụng. Ví dụ ta muốn dùng một base image là nginx:1.11-alpine
thì trong Dockerfile ta sẽ khai báo:
|
|
Step 2 - Running Commands
Có nhiều câu lệnh cần thực thi khi build image, ta có thể chỉ định những lệnh này trong Dockerfile. Chi tiết về những câu lệnh này đã được thảo luận ở phần 6. Ở đây ta dùng lệnh COPY
để copy nội dung file index.html đến địa chỉ cụ thể trên docker
|
|
Step 3 - Exposing Ports
Từ khóa EXPOSE
dùng để chỉ định cổng mà ứng dụng có sử dụng khi muốn truy cập vào Docker từ bên ngoài.
Ví dụ, ta muốn chỉ định cổng 80 sẽ cho phép truy cập, ta khai báo như sau:
|
|
Step 4 - Default Commands
Default Command chỉ định những lệnh sẽ được thực thi sau khi build xong image để tiến hành setup môi trường mà chúng ta mong muốn. Những default command này bắt đầu bằng CMD
. Ví dụ, chúng ta muốn chạy câu lệnh nginx -g daemon off;
ta sẽ thực thi như sau:
|
|
Step 5 - Building Containers
Kết hợp những câu lệnh trên, ta có một Dockerfile nhưu sau:
|
|
Để thực thi và tiến hành build image, ta dùng lệnh docker build
:
|
|
Step 6 - Launching New Image
Cuối cùng chạy image bằng lệnh docker run
.
Vì những kiến thức này chúng ta đều đã thảo luận qua ở những chương trước, nên phần này tôi chỉ đi nhanh qua.