【Docker】Dockerfile 之 ENTRYPOINT(一)
参考教程:https://docs.docker.com/engine/reference/builder/
环境
- virtual box 6.1
- centos 7.8
- docker 19.03
ENTRYPOINT
ENTRYPOINT has two forms:
ENTRYPOINT 有两种形式:
The exec form, which is the preferred form:
exec 形式,这是首选形式:
ENTRYPOINT ["executable", "param1", "param2"]
The shell form:
shell 形式:
ENTRYPOINT command param1 param2
An ENTRYPOINT
allows you to configure a container that will run as an executable.
ENTRYPOINT
允许您配置为容器配置一个可执行的命令。
For example, the following starts nginx with its default content, listening on port 80:
例如,以下代码以其默认内容启动 nginx,监听端口 80:
$ docker run -i -t --rm -p 80:80 nginx
Command line arguments to docker run <image>
will be appended after all elements in an exec form ENTRYPOINT
, and will override all elements specified using CMD
. This allows arguments to be passed to the entry point, i.e., docker run <image> -d
will pass the -d
argument to the entry point. You can override the ENTRYPOINT
instruction using the docker run --entrypoint
flag.
docker run <image>
的命令行参数将以 exec 形式的所有元素添加到 ENTRYPOINT
后面,并将覆盖所有使用 CMD
指定的元素。这允许将参数传递给入口点,即 docker run <image> -d
将参数 -d
传递给入口点。您可以使用 docker run --entrypoint
标志覆盖 ENTRYPOINT
指令。
The shell form prevents any CMD
or run
command line arguments from being used, but has the disadvantage that your ENTRYPOINT
will be started as a subcommand of /bin/sh -c
, which does not pass signals. This means that the executable will not be the container’s PID 1
- and will not receive Unix signals - so your executable will not receive a SIGTERM
from docker stop <container>
.
shell 格式阻止使用任何 CMD
或 run
命令行参数,但具有以下缺点:ENTRYPOINT
将作为 /bin/sh -c
的子命令启动,该子命令不会传递信号。这意味着该可执行文件将不是容器的 PID 1
,并且不会接收 Unix 信号,因此您的可执行文件将不会从 docker stop <container>
接收到 SIGTERM
。
Only the last ENTRYPOINT
instruction in the Dockerfile
will have an effect.
只有 Dockerfile
中的最后一条 ENTRYPOINT
指令才会生效。
总结
介绍了 Dockerfile 中 ENTRYPOINT 指令。
相关文章
- 以docker的方式部署mysql数据库的方法
- 一、OCR-docker部署最新版PaddleServing和PaddleOCR,服务端,客户端,dockerfile部署
- paddle-serving docker部署,非dockerfile,分步骤安装正确版本
- Docker 大热,还不了解 Dockerfile 你就OUT啦~
- Docker实践者不能错过2014 Container技术大会的九大理由!
- docker安装使用以及tomcat部署超级详解
- 《Docker生产环境实践指南》——2.6 编排
- Docker镜像命令
- Docker企业版常见问题解答
- Docker之Dockerfile简介
- vscode配置docker插件
- 【Docker】Dockerfile从概念介绍到快速上手编写案例实战
- 【Docker学习笔记3Day】- 基础命令
- Docker生态与命令
- docker容器内使用apt报错E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)以及Dockerfile文件里USER的作用
- 浅析docker容器如何配置ssh连接和如何以Dockerfile的方式创建ssh直连docker容器
- 【Docker】通过dockerfile构建Nginx镜像部署多Web应用
- dockerfile来构建自己的docker镜像
- docker安装redis
- Docker安装MySQL
- 【MySQL】 Docker 安装 MySQL8.0(mac)