84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
文件中說,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