This page looks best with JavaScript enabled

Tìm hiểu và sử dụng docker (P7)

 ·  ☕ 2 min read  ·  🐉 Edisc

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
docker_foundation

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
build_container_image

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:

1
FROM nginx:1.11-alpine

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

1
2
FROM nginx:1.11-alpine
COPY index.html /usr/share/nginx/html

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:

1
EXPOSE 80

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:

1
CMD ["nginx", "-g", "daemon", "off;"]

Step 5 - Building Containers

Kết hợp những câu lệnh trên, ta có một Dockerfile nhưu sau:

1
2
3
4
FROM nginx:1.11-alpine
COPY index.html /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon", "off;"]

Để thực thi và tiến hành build image, ta dùng lệnh docker build:

1
docker build -t my-image:v1 .

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.

Share on

Edisc
WRITTEN BY
Edisc
Cyber Security Engineer

 
What's on this Page