1.構建映象時必須指定一個CMD 或者ENTRYPOINT 去夯住程序,不讓它退出,放在容器前臺執行,否則容器就退出了。
2.CMD exec 形式變數傳參需要指定("sh","-c","/usr/bin/run.sh $abc")
CMD ["sh","-c","/usr/bin/run.sh $abc"]
4.docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -d test run.sh liuzhe
透過命令列指定的形式覆蓋Dockerfile 中的CMD命令
5.docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -d test run.sh wangwu
透過命令列指定的形式覆蓋Dockerfile 中的ENTRYPOINT命令需要指定 --entrypoint引數
6.當CMD和ENTRYPOINT配合使用時,CMD的值會作為ENTRYPOINT 的預設引數
ENTRYPOINT ["run.sh"] #ENTRYPOINT執行 可執行檔案 必須使用exec的形式
CMD ["hello","libai"] #CMD的值為ENTRYPOINT傳參
docker run -d test hello liuzhe 也可以透過命令列的形式覆蓋CMD命令的值
1. CMD和ENTRYPOINT指令都可以用來定義執行容器時所使用的預設命令
2. Dockerfile至少指定一個CMD或ENTRYPOINT
3. CMD可以用作ENTRYPOINT預設引數,或者用作容器的預設命令