docker-compose.yml文件中的command命令问题
阿神
阿神 2017-04-24 09:11:58
0
1
772

文档中说,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/

阿神
阿神

闭关修行中......

全員に返信(1)
PHPzhong

docker run nginx && docker ps --no-trunc コマンド列はデフォルトで実行されるコマンドです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

Dockerfile がある場合、通常、最後の行は CMD または ENTRYPOINT です 🎜 🎜CMD コマンドは docker run に続くコマンドによって上書きできますが、ENTRYPOINT コマンドは上書きされません🎜 🎜CMD または ENTRYPOINT に関係なく、同じ Dockerfile 内に複数のエントリがある場合、最後のエントリのみが実行されます🎜 🎜例:
nginx:stable-alpine Dockerfile🎜 🎜たとえば、これ (docker run --rm nginx:stable-alpine /bin/sh) では、nginx が実行されていないことがわかります
docker-compose.yml のコマンドは /bin/sh🎜の後に指定
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート