Hướng dẫn Build một image đơn giản từ Dockerfile.
This post hasn't been updated for 8 years
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é !
>hungdhm@hungdhm-Inspiron:~/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