Các lệnh trong Dockerfile
TIL
753
White

Tất Huân viết ngày 08/06/2019

Các lệnh trong Dockerfile

  • FROM: Là base image để chúng ta tiến hành build một image mới. Command này phải được đặt trên cùng của Dockerfile
  • MAINTAINER: Command này là tùy chọn, có thể có hoặc không. Nó chưa thông tin của người tiến hành xây dựng lên images.
  • RUN: Sử dụng khi muốn thực thi một command trong quá trình build image
  • COPY: Copy một file từ host machine tới docker image. Có thể sử dụng URL cho tệp tin cần copy, khi đó docker sẽ tiến hành tải tệp tin đó đến thư mục đích.
  • ARG: Định nghĩa các biến cho quá trình build docker image. Biến này chỉ có scope khi build image, không sử dụng được khi docker container running.\
    Cách truyền khi chạy lệnh docker build:

    --build-arg key1=value1

    --build-arg key2=value2

  • ENV: Định nghĩa các biến môi trường. ENV có thể được gán bằng 2 cách:

    • Gán giá trị mặc định thông qua biến ARG khi build image
    • Gán trực tiếp hoặc override khi run container
  • WORKDIR: Định nghĩa directory cho CMD

  • USER: Đặt user hoặc UID cho container được tạo bởi image

  • VOLUME: Cho phép truy cập / liên kết thư mục giữa các container và máy chủ (host machine)

  • ENTRYPOINT: Định nghĩa những commands sẽ được chạy đầu tiên khi container chạy.\
    Các lệnh thêm vào sau docker run [OPTIONS] [Extra COMMANDs] sẽ được thêm vào chuỗi các commands của entrypoint

  • CMD: Định nghĩa các commands mặc định khi không có ENTRYPOINT và Extra COMMANDS

Thêm về scope của ENVARG

docker_environment_build_args_overview.png

Refer: https://docs.docker.com/engine/reference/builder/#workdir

Tất Huân 08-06-2019

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Tất Huân

10 bài viết.
2 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
7 0
Sử dụng Jacksondatabind mapping Object Json và ứng dụng load file config 1. Mapping Object Json Jacksondatabind Maven: com.fasterxml.jackson.c...
Tất Huân viết 2 năm trước
7 0
White
5 2
Một số hàm giúp mapping data đơn giản với Groovy Ví dụ với list data như sau: def student1 = name: "Huan", age: 22, gender: "male"] def student...
Tất Huân viết 2 năm trước
5 2
White
5 0
Trước tiên mình muốn làm rõ khái niệm Vertical và Horizontal scaling: (Ảnh) Nguồn ảnh: Internet Ví dụ liên tưởng: ================= Giả sử bạn...
Tất Huân viết 11 tháng trước
5 0
Bài viết liên quan
White
0 4
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết 2 năm trước
0 4
White
3 0
I used Spring boot, Hibernate few times back then at University, I'v started using it again recently. In this (Link), I want to check how Spring J...
Rey viết hơn 1 năm trước
3 0
White
23 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết gần 4 năm trước
23 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
10 bài viết.
2 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!