84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
文档中说,command是覆盖容器启动后默认执行的命令。http://wiki.jikexueyuan.com/project/docker-technology-and-combat/yaml_file.html
command: bundle exec thin -p 3000
那么,容器默认执行命令在哪里查看?能否以Docker Hub官方nginx镜像为例说一下:https://hub.docker.com/r/library/nginx/
闭关修行中......
docker run nginx && docker ps --no-trunc 在command那一列就是默认执行的命令
docker run nginx && docker ps --no-trunc
如果有Dockerfile 的话, 一般最后一行CMD 或 ENTRYPOINT的就是了
CMD
ENTRYPOINT
CMD 的命令可以被docker run 后面的命令覆盖, 但ENTRYPOINT的不会
docker run
不管CMD 还是ENTRYPOINT 在同一个Dockerfile有多条时, 只会执行最后一条
e.g : nginx:stable-alpine Dockerfile
比如这个(docker run --rm nginx:stable-alpine /bin/sh) 你会发现nginx 没有运行docker-compose.yml 中的command就是 docker run 后面指定的 /bin/sh
/bin/sh
docker run nginx && docker ps --no-trunc
在command那一列就是默认执行的命令如果有Dockerfile 的话, 一般最后一行
CMD
或ENTRYPOINT
的就是了CMD 的命令可以被
docker run
后面的命令覆盖, 但ENTRYPOINT的不会不管CMD 还是ENTRYPOINT 在同一个Dockerfile有多条时, 只会执行最后一条
e.g :
nginx:stable-alpine Dockerfile
比如这个(docker run --rm nginx:stable-alpine /bin/sh) 你会发现nginx 没有运行
docker-compose.yml 中的command就是 docker run 后面指定的
/bin/sh