CMD和ENTRYPOINT的区别

2022-12-11  本文已影响0人  arkliu

CMD命令

新建my_cmd,内容如下:

FROM centos
CMD ["ls","-a"]  # 启动镜像的时候,执行ls -a命令

使用my_cmd构建镜像

docker build -f my_cmd  -t cmdtest .

运行镜像

docker run 620a9988f91c
image.png

但是现在执行

docker run 620a9988f91c -l  # 本意是想和里面的ls -a结合成 ls -al的命令

发现报错了


image.png image.png

ENTRYPOINT命令

新建my_entrypoint,内容如下:

FROM centos
ENTRYPOINT ["ls","-a"]

使用my_entrypoint构建镜像

lh@lh-pc:~/dockerfile$ docker build -f my_entrypoint  -t entrypointtest .

运行镜像

lh@lh-pc:~/dockerfile$ docker run entrypointtest

追加命令

lh@lh-pc:~/dockerfile$ docker run entrypointtest -l
total 56
drwxr-xr-x   1 root root 4096 Nov 17 11:53 .
drwxr-xr-x   1 root root 4096 Nov 17 11:53 ..
-rwxr-xr-x   1 root root    0 Nov 17 11:53 .dockerenv
lrwxrwxrwx   1 root root    7 Nov  3  2020 bin -> usr/bin
drwxr-xr-x   5 root root  340 Nov 17 11:53 dev
drwxr-xr-x   1 root root 4096 Nov 17 11:53 etc
drwxr-xr-x   2 root root 4096 Nov  3  2020 home
lrwxrwxrwx   1 root root    7 Nov  3  2020 lib -> usr/lib
lrwxrwxrwx   1 root root    9 Nov  3  2020 lib64 -> usr/lib64
drwx------   2 root root 4096 Sep 15  2021 lost+found
drwxr-xr-x   2 root root 4096 Nov  3  2020 media
drwxr-xr-x   2 root root 4096 Nov  3  2020 mnt
drwxr-xr-x   2 root root 4096 Nov  3  2020 opt
dr-xr-xr-x 255 root root    0 Nov 17 11:53 proc
dr-xr-x---   2 root root 4096 Sep 15  2021 root
drwxr-xr-x  11 root root 4096 Sep 15  2021 run
lrwxrwxrwx   1 root root    8 Nov  3  2020 sbin -> usr/sbin
drwxr-xr-x   2 root root 4096 Nov  3  2020 srv
dr-xr-xr-x  13 root root    0 Nov 17 11:53 sys
drwxrwxrwt   7 root root 4096 Sep 15  2021 tmp
drwxr-xr-x  12 root root 4096 Sep 15  2021 usr
drwxr-xr-x  20 root root 4096 Sep 15  2021 var
image.png
上一篇 下一篇

猜你喜欢

热点阅读