Viblo Code
+3

Hướng dẫn Build một image đơn giản từ Dockerfile.

Chỉ định bài viết dành cho những người mới làm quen với Linux nói chung và docker nói riêng

Docker là gì và công dụng của nó như thế nào thì có lẽ mình không cần nhắc lại làm gì. Các bạn có thể tra google với từ khóa Docker thì sẽ có được câu trả lời.

Trong bài viết này mình sẽ hướng dẫn cách tạo 1 dockerfile, build 1 image đơn giản theo trào lưu docker everywhere cho các bạn mới làm quen.

Dockerfile là gì ? Tại sao phải tạo nó ?

Dockerfile đơn giản là một file (dạng text nhưng không có Extension) chứa một tập hợp các dòng lệnh dùng để khởi tạo một docker image. Nó quy định image sẽ được khởi tạo như thế nào , gồm các ứng dụng gì trong đó.

Trong Dockerfile có các câu lệnh chính sau:

FROM
RUN
CMD
....còn nữa

Với lệnh FROM

Dùng để chỉ ra image được build từ đâu (từ image gốc nào)

FROM ubuntu

hoặc có thể chỉ rõ tag của image gốc

'FROM ubuntu14.04:lastest'

Với lệnh RUN

Dùng để chạy một lệnh nào đó khi build image, ví dụ về một Dockerfile

FROM ubuntu
RUN apt-get update`
RUN apt-get install curl -y

Với lệnh CMD

Lệnh CMD dùng để truyền một lệnh của Linux mỗi khi thực hiện khởi tạo một container từ image (image này được build từ Dockerfile) Có các cách (trong docs nói có 3 cách) sử dụng lệnh CMD,

Ví dụ

Cách 1

FROM ubuntu
RUN apt-get update
RUN apt-get install curl -y
CMD ["curl", "ipinfo.io"]

hoặc

Cách 2

FROM ubuntu
RUN apt-get update
RUN apt-get install wget -y
CMD curl ifconfig.io

Tác dụng ngoài dùng để build một image, các bạn còn có thể đem chia sẻ nó cho người khác dùng. Thay vì phải pull một image vài trăm Mb , bạn chỉ cần 1 file vài trăm Kb, đơn giản quá phải không 😃

Cách tạo Dockerfile thì cũng khá đơn giản. Các bạn có thể sử dụng vim hoặc tạo một NewDocument đặt tên là "Dockerfile" (lưu ý phải đúng tên thì nó mới chạy nhé !) và sau đó điền nội dung vào như ví dụ ở trên .

FROM ubuntu:14,04
RUN apt-get update (trường hợp không chạy thì các bạn sửa lại là RUN apt-get -qq update nhé)
RUN apt-get install -y vim
RUN apt-get install-y curl

Với 1 Dockerfile có nội dung như trên, mình sẽ tạo ra được 1 image Ubuntu 14.04 đã có cài đặt sẵn curl và vim.

Build image từ Dockerfile đã tạo :

Với Dockerfile đã tạo ở trên, chúng ta có thể tiến hành build một image. Các bạn trỏ đường dẫn đến thư mục lưu Dockerfile nhé. Gõ lệnh

Docker build -t testimage:1.0 .

(lưu ý là có dấu . cuối dòng lệnh nhé ! Dấu đó có ý nghĩa là Dockerfile ở local, lúc đầu mình không biết cứ sai hoài !)

Sau khi chạy xong thì các bạn có thể dùng lệnh

docker images

để xem thành quả nhé !


>[email protected]:~/Desktop/Test/1$ sudo docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
testimage             1.0                 9deb3b446e72        About an hour ago   286.9 MB


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.