cmd和entrypoint
时间: 2023-09-13 15:14:00 浏览: 104
Dockerfile中CMD和ENTRYPOINT命令详解
CMD和ENTRYPOINT是Dockerfile中定义容器启动命令的关键字。
CMD用于定义默认的容器启动命令,可以被覆盖。例如:
```
CMD ["python", "app.py"]
```
这个命令会在容器启动时运行Python应用程序app.py。如果用户在启动容器时指定了命令参数,如:
```
docker run myapp:v1 /bin/bash
```
那么CMD命令就会被覆盖,容器启动时会运行/bin/bash命令。
ENTRYPOINT也用于定义容器启动命令,但是它不会被覆盖,只会被附加。例如:
```
ENTRYPOINT ["python"]
CMD ["app.py"]
```
这个命令会在容器启动时运行Python解释器,然后再运行app.py应用程序。如果用户在启动容器时指定了命令参数,如:
```
docker run myapp:v1 /bin/bash
```
那么ENTRYPOINT命令不会被覆盖,容器启动时仍然会运行Python解释器,然后再运行app.py应用程序。
阅读全文