更新Docker安装、镜像、Dockerfile和Compose等文档内容

This commit is contained in:
yeasy
2026-03-29 11:40:34 -07:00
parent 59bfe9cff6
commit 3bad07c41a
21 changed files with 265 additions and 8 deletions
+28
View File
@@ -1,5 +1,33 @@
## 7.5 ENTRYPOINT 入口点
### 何时使用 ENTRYPOINT"容器""命令"
如果说 CMD "容器中的默认程序"那么 ENTRYPOINT 就是"把容器变成一个命令"这个思维转变决定了你何时使用 ENTRYPOINT
**使用 ENTRYPOINT 的典型场景**
1. **命令行工具**你想让镜像像 `curl` `wget` 一样使用
```dockerfile
ENTRYPOINT ["curl"]
# docker run myimage http://example.com → curl http://example.com
```
2. **应用启动脚本**你有一个初始化脚本需要接收命令行参数
```dockerfile
ENTRYPOINT ["/app/entrypoint.sh"]
# docker run myimage --debug → /app/entrypoint.sh --debug
```
3. ** CMD 结合**ENTRYPOINT 定义入口CMD 定义默认参数
```dockerfile
ENTRYPOINT ["python", "app.py"]
CMD ["--port", "8000"]
# docker run myimage → python app.py --port 8000
# docker run myimage --port 9000 → python app.py --port 9000
```
**对比 CMD**如果没有这些"把容器当命令用"的需求通常使用 CMD 就足够了
### 7.5.1 什么是 ENTRYPOINT
`ENTRYPOINT` 指定容器启动时运行的入口程序 CMD 不同ENTRYPOINT 定义的命令不会被 `docker run` 的参数覆盖而是 **接收这些参数**