ENTRYPOINT có thể được cấu hình ở hai dạng:
- Exec Form
ENTRYPOINT [“executable”, “param1”, “param2”] - Shell Form
ENTRYPOINT param1 param2
Nếu một image có ENTRYPOINT nếu bạn chuyển một đối số cho nó, thì trong khi chạy container, nó sẽ không ghi đè lên entrypoint hiện có, nó sẽ nối thêm những gì bạn đã config trong entrypoint. Để ghi đè ENTRYPOINT hiện có, bạn nên sử dụng flag –entrypoint khi chạy container.
Các bước:
- Tạo image với ENTRYPOINT (Exec Form)
- Hướng dẫn ENTRYPOINT ở dạng Shell
- Ghi đè ENTRYPOINT hiện có
Tạo image với ENTRYPOINT (Exec Form)
Dockerfile
FROM alpine:3.5 LABEL maintainer="hocdevops" ENTRYPOINT ["/bin/echo", "Hi, your ENTRYPOINT instruction in Exec Form !"]
Build image Docker
$ docker build -t entrypoint:v1 .
Xác minh image
$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE entrypoint v1 1d06f06c2062 2 minutes ago 4MB alpine 3.5 f80194ae2e0c 7 months ago 4MB
Tạo một container
$ docker container run entrypoint:v1 Hi, your ENTRYPOINT instruction in Exec Form !
Hướng dẫn ENTRYPOINT ở dạng Shell
Dockerfile
$ cat Dockerfile FROM alpine:3.5 LABEL maintainer="hocdevops" ENTRYPOINT echo "Hi, your ENTRYPOINT instruction in Shell Form !"
Build image Docker
$ docker build -t entrypoint:v2 .
Xác minh image
$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE entrypoint v2 cde521f13080 2 minutes ago 4MB entrypoint v1 1d06f06c2062 5 minutes ago 4MB alpine 3.5 f80194ae2e0c 7 months ago 4MB
Tạo một container
$ docker container run entrypoint:v2 Hi, your ENTRYPOINT instruction in Shell Form !
Ghi đè ENTRYPOINT hiện có
$ docker container run --entrypoint "/bin/echo" entrypoint:v2 "Hello, Welocme to Docker Meetup! " Hello, Welocme to Docker Meetup!
