ENTRYPOINT

简介: ENTRYPOINT

  ENTRYPOINT

  类似于 CMD 指令,但其不会被 docker run 的命令行参数指定的指令所覆盖,而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序。

  但是, 如果运行 docker run 时使用了 --entrypoint 选项,将覆盖 ENTRYPOINT 指令指定的程序。

  优点:在执行 docker run 的时候可以指定 ENTRYPOINT 运行所需的参数。

  注意:如果 Dockerfile 中如果存在多个 ENTRYPOINT 指令,仅最后一个生效。

  格式:

  ENTRYPOINT ["","","",...]

  可以搭配 CMD 命令使用:一般是变参才会使用 CMD ,这里的 CMD 等于是在给 ENTRYPOINT 传参,以下示例会提到。

  示例:

  假设已通过 Dockerfile 构建了 nginx:test 镜像:

  FROM nginx

  ENTRYPOINT ["nginx", "-c"] # 定参

  CMD ["/etc/nginx/nginx.conf"] # 变参

  1、不传参运行

  $ docker run nginx:test

  容器内会默认运行以下命令,启动主进程。

  nginx -c /etc/nginx/nginx.conf

  2、传参运行

  $ docker run nginx:test -c /etc/nginx/new.conf

  容器内会默认运行以下命令,启动主进程(/etc/nginx/new.conf:假设容器内已有此文件)

  nginx -c /etc/nginx/new.conf

目录
相关文章
|
NoSQL 关系型数据库 MySQL
Dockerfile(9) - ENTRYPOINT 指令详解
Dockerfile(9) - ENTRYPOINT 指令详解
724 0
|
11天前
|
Shell Docker Python
Dockerfile中的CMD和ENTRYPOINT
**Dockerfile 中的 `CMD` 和 `ENTRYPOINT` 用于设定容器启动行为。`CMD` 提供默认命令,可被 `docker run` 覆盖;`ENTRYPOINT` 设置不可变的入口点,其参数与 `CMD` 结合使用。两者皆有两种语法格式:数组和字符串。`ENTRYPOINT` 与 `CMD` 结合允许用户覆盖默认参数,但若需替换 `ENTRYPOINT`,需使用 `--entrypoint`。**
|
11月前
|
Docker 容器
48-Dockerfile-CMD/ENTRYPOINT指令
48-Dockerfile-CMD/ENTRYPOINT指令
|
11月前
|
Linux 开发工具 Docker
【docker】CMD和ENTRYPOINT的区别
【docker】CMD和ENTRYPOINT的区别
|
11月前
|
Linux Docker 容器
Docker从入门到精通——CMD与ENTRYPOINT区别
Docker从入门到精通——CMD与ENTRYPOINT区别
190 0
|
Java 应用服务中间件 Linux
Docker file 案例-CMD-ENTRYPOINT 命令案例 | 学习笔记
快速学习 Docker file 案例-CMD-ENTRYPOINT 命令案例
182 0
Docker file 案例-CMD-ENTRYPOINT 命令案例 | 学习笔记
|
Shell Docker 容器
Docker - Run & CMD & Entrypoint
Docker - Run & CMD & Entrypoint
126 0
|
网络协议 应用服务中间件 nginx
Dockerfile(6) - EXPOSE 指令详解
Dockerfile(6) - EXPOSE 指令详解
1101 0
Dockerfile(6) - EXPOSE 指令详解
|
Shell Linux 开发工具
Dockerfile(4) - RUN 指令详解
Dockerfile(4) - RUN 指令详解
396 0
|
安全 Shell Linux
DOCKER04_详解Dockerfile基本指令、FROM、LABEL、RUN、CMD、ENTRYPOINT、ARG、ENV、VOLUME、USER(二)
③. 保留字指令 ①. FROM 基于哪个镜像 ②. LABEL 镜像的说明信息
178 0
DOCKER04_详解Dockerfile基本指令、FROM、LABEL、RUN、CMD、ENTRYPOINT、ARG、ENV、VOLUME、USER(二)