在Dockerfiles中有两个看起来与我类似的命令:CMD和ENTRYPOINT.但是我猜它们之间存在着一种(微妙的?)差异 - 否则对于同样的事情来说两个命令就没有任何意义.
文档说明了 CMD
CMD的主要目的是为执行容器提供默认值.
并为ENTRYPOINT:
ENTRYPOINT可帮助您配置可作为可执行文件运行的容器.
那么,这两个命令之间的区别是什么?
我是Docker的新手,目前还不清楚如何从容器访问外部数据库.是连接字符串中硬编码的最佳方法吗?
# Dockerfile
ENV DATABASE_URL amazon:rds/connection?string
Run Code Online (Sandbox Code Playgroud) 在我的Dockerfile中,我想定义稍后可以在Dockerfile中使用的变量.
我知道该ENV指令,但我不希望这些变量成为环境变量.
有没有办法在Dockerfile范围声明变量?