Docker

Sử dụng docker: Dockerfile

Contents:

Xem thêm:

Docker là gì?

Sử dụng Docker như thế nào?

Truyền lệnh từ Host vào Docker Container

Sử dụng Docker: Export/Import, Save/Load Container

Dockerfile là gì?

Dockerfile là tập tin chứa các lệnh để docker thực hiện việc đóng gói một image theo yêu cầu của người tạo ra Dockerfile. Trong bài viết này, mình sẽ hướng dẫn các bạn cách tạo một docker image từ Dockerfile cơ bản.

Các lệnh trong Dockerfile

Để tạo Dockerfile , bạn cần biết các câu lệnh sau:

  • FROM: Thiết lập image khởi điểm, chúng ra sẽ build một image mới từ image này.
  • RUN: Thực hiện lệnh trong quá trình build image
  • COPY: Copy file từ host đến docker image
  • WORKDIR: Định nghĩa directory cho CMD
  • ENV: Định nghĩa các biến môi trường
  • CMD: Chạy command trong quá trình build một container mới từ docker image
  • ENTRYPOINT: Định nghĩa những command mặc định, cái mà sẽ được chạy khi container running.
  • EXPOSE: Listen port
  • USER: Đặt user hoặc UID cho container được tạo bởi image
  • VOLUME: Gán thư mục của host và container
  • MAINTAINER: Khai báo thông tin của người tiến hành xây dựng lên images.

Tạo Dockerfile

Ví dụ Dockerfile sau để tạo một docker image Centos 7 cài sẵn MySQL 5.7

# Pull base image
FROM centos:7

# Timezone
RUN cp -p /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime

# System update
RUN yum -y update

# Install Tools
RUN yum install -y \
git \
less \
vim \
curl \
net-tools

# Install mysql
RUN rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm && \
yum install -y --enablerepo=mysql57-community \
mysql-community-server

# Cache cleaning
RUN yum clean all

# User
RUN groupmod --gid 1000 mysql && usermod mysql --uid 1000 --gid 1000

# Listen port
EXPOSE 3306

# Startup
ENTRYPOINT ["/usr/sbin/mysqld"]

Trong đó:

  • FROM centos:7 -> Build docker image mới từ image centos 7
  • Timezone: thiết lập múi giờ
  • System update: Cập nhật hệ thống
  • Install Tools: Cài đặt một số công cụ
  • Install MySQL : Cài đặt MySQL
  • Listen port: gán port cho docker image

Build Docker image từ Dockerfile

Chạy lệnh sau để build:

docker build -t centos7_mysql57 .

Trong đó:

  • centos7_mysql57 là tên image
  • Dấu . là chỉ thư mục hiện tại của Dockerfile

Dùng lệnh docker image để kiểm tra image vừa tạo:Chúc các bạn thành công.
[quangcao]

Share:
Leave a Comment
Share
Published by
Admin

Recent Posts

Hướng dẫn nhắn tin Telegram trên Linux Terminal

Như các bạn đã biết thì Telegram là một dịch vụ tin nhắn tuyệt vời…

4 năm ago

Cài đặt Apache Tomcat 9 trên Ubuntu 20.04

Apache Tomcat là gì? Apache Tomcat là một web server HTTP được phát triển bởi…

4 năm ago

04/2020 – Build PC chơi game giá 20 triệu

20 triệu có lẽ là một mức chi phí khá lý tưởng cho một máy…

4 năm ago

Sử dụng Microsoft Edge Chromium: Thay đổi tìm kiếm mặc định, cài Chrome Extensions

Micosoft chính thức phát hành Microsoft Edge Chromium Microsoft đã chính thức tung ra trình…

4 năm ago

CentOS 8 – Những thay đổi và tính năng

CentOS 8 đã phát hành ngày 25/09/2019, phiên bản 8 lần này có những thay đổi…

5 năm ago

Top 5 Laptop cho dân văn phòng 2019

Thời buổi công nghệ phát triển, phần lớn công việc của con người đều có…

5 năm ago