c语言sscanf函数的用法是什么
266
2022-10-27
Dockfile里的CMD和ENTRYPOINT的区别
FROM alpine:3.12.0RUN set -x \&& echo "> /etc/apk/repositories \&& echo ">> /etc/apk/repositories \&& apk add --no-cache mysql-client bash bash-doc bash-completion \&& sed -i 's/ash/bash/g' /etc/passwdCMD ["/bin/bash"]# ENTRYPOINT ["mysql"]
当CMD ["/bin/bash"]开启而注释ENTRYPOINT时:docker run --rm --name mysqlcli mysqlcli:1.0.9 mysql -uroot -h10.11.96.190 -ppassw0rd --database=tgac_test_docker -e "show tables;" Tables_in_tgac_test_docker
当ENTRYPOINT ["mysql"]开启而注释CMD时:#docker run --rm --name mysqlcli mysqlcli:1.0.8 mysql -uroot -h10.11.96.190 -ppassw0rd --database=tgac_test_docker -e "show tables;" Tables_in_mysql为啥这里是mysql这个database的,不是期望的tgac_test_docker里的tables呢?
区别来了:
用CMD,run的时候后面跟完整命令,用ENTRYPOINT,后面只跟参数,我昨晚执行时用的一样的,那么ENTRYPOINT后面的mysql被当做了database,而不是客户端命令行mysql命令
参考:
https://blog.csdn.net/u010900754/article/details/78526443这篇文档就说的很清楚了,而且有实际演示,看输出就知道了。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~