2026/3/8 16:33:52
网站建设
项目流程
网站开发的外文翻译,php使用wordpress,抖音合作推广平台,北京手机网站开发公司文章目录一、Path 的常见值二、Path 的生成规则2.1、Dockerfile 中的 CMD 或 ENTRYPOINT2.2、 docker run 命令的参数2.3、 --entrypoint 参数三、Path 的限制四、实际使用4.1、 Nginx 容器4.2、 交互式 Shell4.3、 sleep4.3、 自定义脚本在 Docker 容器的配置文件 config.v2.j…文章目录一、Path 的常见值二、Path 的生成规则2.1、Dockerfile 中的 CMD 或 ENTRYPOINT2.2、 docker run 命令的参数2.3、 --entrypoint 参数三、Path 的限制四、实际使用4.1、 Nginx 容器4.2、 交互式 Shell4.3、 sleep4.3、 自定义脚本在 Docker 容器的配置文件config.v2.json中Path字段指定了容器启动时要执行的主程序可执行文件的路径。它决定了容器运行时的入口点Entry Point通常与Args字段配合使用共同构成容器的启动命令。一、Path 的常见值“Path” 的值必须是容器文件系统中某个可执行文件的 绝对路径常见的值包括示例值说明/bin/bash启动 Bash shell常用于交互式容器/bin/sh启动默认的 shell如 Alpine 系统/usr/bin/python运行 Python 脚本需在 Dockerfile 中安装 Python/usr/local/bin/app自定义应用程序的路径需在容器中预装/entrypoint.sh自定义入口脚本需在 Dockerfile 中赋予可执行权限/proc/self/exe特殊值表示当前进程的自身用于调试或特殊场景二、Path 的生成规则2.1、Dockerfile 中的 CMD 或 ENTRYPOINT如果 Dockerfile 中定义了CMD或ENTRYPOINTDocker 会将其解析为Path和Args。示例 1CMDCMD [nginx, -g, daemon off;]对应的 config.v2.jsonPath:/usr/sbin/nginx,Args:[-g,daemon off;]示例 2ENTRYPOINT CMDENTRYPOINT [/bin/sh, -c] CMD [echo Hello Docker!]对应的 config.v2.jsonPath:/bin/sh,Args:[-c,echo Hello Docker!]2.2、 docker run 命令的参数如果用户在 docker run 中显式指定命令会覆盖 Dockerfile 中的 CMD。示例dockerrun -it ubuntu /bin/bash对应的 config.v2.jsonPath:/bin/bash,Args:[]2.3、 --entrypoint 参数使用--entrypoint可以覆盖 Dockerfile 中的 ENTRYPOINT。示例dockerrun --entrypoint /bin/sh nginx对应的 config.v2.jsonPath:/bin/sh,Args:[]三、Path 的限制必须是绝对路径Docker 不支持相对路径如 ./bin/app否则会尝试在 $PATH 中查找。可执行权限目标路径必须是可执行文件否则容器启动失败。与 Entrypoint 的关系如果 Dockerfile 中定义了 ENTRYPOINT“Path” 会优先使用 ENTRYPOINT 的值。如果未定义 ENTRYPOINT“Path” 会从 CMD 的第一个参数推导。四、实际使用4.1、 Nginx 容器Path:/usr/sbin/nginx,Args:[-g,daemon off;]对应命令nginx -g daemon off;用于以后台模式运行 Nginx。4.2、 交互式 ShellPath:/bin/bash,Args:[]对应命令bash进入容器的交互式终端。4.3、 sleepPath:sleepArgs:[10000]对应命令sleep 10000,容器保持运行状态10000 s4.3、 自定义脚本Path:/app/start.sh,Args:[]要求/app/start.sh是可执行脚本需在 Dockerfile 中 RUN chmod x /app/start.sh。