Docker映像的安全性

Docker映像的安全性,docker,Docker,我正在考虑将锈迹应用程序打包到Docker容器中 该应用程序的当前版本包含各种凭据文件,用于通过服务帐户密钥注册到Discord API或Google API 如果我将应用程序打包成这样,这些文件是否可以访问 [编辑:添加Dockerfile] FROM rust:1.28.0 WORKDIR /usr/src/<application> COPY . . RUN cargo install --force --path . CMD ["<application>"

我正在考虑将锈迹应用程序打包到Docker容器中

该应用程序的当前版本包含各种凭据文件,用于通过服务帐户密钥注册到Discord API或Google API

如果我将应用程序打包成这样,这些文件是否可以访问

[编辑:添加Dockerfile]

FROM rust:1.28.0

WORKDIR /usr/src/<application>
COPY . .

RUN cargo install --force --path .

CMD ["<application>"]
来自锈蚀的
:1.28.0
WORKDIR/usr/src/
复制
运行cargo install--force--path。
CMD[“”]

切勿将实际凭证放入任何可能只有您才能访问的内容中。
您基本上有两种选择:

1) 让应用程序从其环境中提取所需的凭据,然后在启动容器时设置这些变量。看

2) 让您的应用程序从配置文件中读取凭据,该文件不会被拉入docker映像。然后,在运行容器时,将该文件装入其中,请参见

实际上,您可以同时执行这两项操作:使用一个环境变量来告诉您的应用程序是否应该查找配置文件(可能在生产环境中),如果该变量未设置,请检查环境(用于开发)


编辑:最佳做法是在生成上下文中创建一个
.dockergnore
文件,其中包含保存凭据的文件的名称(或路径)。

切勿将实际凭据放入任何您可能无法访问且只有您才能访问的内容中。
您基本上有两种选择:

1) 让应用程序从其环境中提取所需的凭据,然后在启动容器时设置这些变量。看

2) 让您的应用程序从配置文件中读取凭据,该文件不会被拉入docker映像。然后,在运行容器时,将该文件装入其中,请参见

实际上,您可以同时执行这两项操作:使用一个环境变量来告诉您的应用程序是否应该查找配置文件(可能在生产环境中),如果该变量未设置,请检查环境(用于开发)


编辑:最佳做法是在生成上下文中创建一个
.dockergnore
文件,其中包含保存凭据的文件的名称(或路径)。

在复制到docker映像中的文件中是否有凭据?你能提供docker文件吗?我想我需要,因为这些凭证文件需要由我的应用程序加载。你在复制到docker映像的文件中有凭证吗?你能提供dockerfile吗?我想我需要,因为这些凭证文件需要由我的应用程序加载。为了确保,我应该将凭证文件添加到.DockerRignore文件中,以确保它们不会被拉入docker映像,对吗?是的。谢谢,忘了提那件事了。更新了我的答案。谢谢。根据你的要求,我在我的初始问题中也添加了Dockerfile只是为了确保,然后我应该将凭据文件添加到.DockerRignore文件中,以确保它们不会被拉入docker映像,对吗?是的。谢谢,忘了提那件事了。更新了我的答案。谢谢。根据你的要求,我在最初的问题中也添加了Dockerfile