Sử dụng docker – Ghi đè entrypoint mặc định của container với docker run

Entrypoint là những command mặc định, được chạy lần đầu khi khởi tạo container từ image. Entrypoint được định nghĩa ban đầu trong dockerfile. Tuy nhiên, đôi khi người quản trị muốn chạy cái gì đó khác bên trong container, vì vậy, có thể ghi đè ENTRYPOINT mặc định mỗi lần start container bởi tham số –entrypoint
Ví dụ,chạy ls khi start container
docker run --entrypoint "/bin/ls" 0cbf37812bff
Xoá toàn bộ container mặc định:
docker run -it –entrypoint=”” 0cbf37812bff
Tham số –entrypoint sẽ xoá toàn bộ entrypoint hiện có, và thêm entrypoint mới. Như ở lệnh trên, entrypoint mới rỗng nên những cái hiện có sẽ bị remove toàn bộ.

Tuy nhiên, nếu command có tham số (args) thì cú pháp sử dụng sẽ khác. Dưới đây là cách sử dụng sai:
[root@localhost ~]# docker run --entrypoint "/bin/ls -al /root" 0cbf37812bff

container_linux.go:247: starting container process caused "exec: \"/bin/ls -al /root\": stat /bin/ls -al /root: no such file or directory"
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/bin/ls -al /root\": stat /bin/ls -al /root: no such file or directory".

Để sử dụng tham số cho entrypoint, thêm tham số đằng sau image_id/ image_name
Ví dụ, chạy lệnh ls với thư mục /var
[root@localhost ~]# docker run --entrypoint "/bin/ls" 0cbf37812bff /var
cache
db
empty
games
lib
local
lock
log
mail
nis
opt
preserve
run
spool
tmp
yp
[root@localhost ~]#