Javascript Dockerhub公共存储库的项目代码库是否可供任何人访问?

Javascript Dockerhub公共存储库的项目代码库是否可供任何人访问?,javascript,angular,docker,dockerhub,Javascript,Angular,Docker,Dockerhub,我对容器和docker等概念非常陌生。比如说,我有一个简单的角度Javascript应用程序,可以进行API调用。如果这个应用程序是dockerhub上的一个映像,有人可以访问项目代码吗?例如,如果标题中有一些敏感信息,如订阅密钥,是否有人可以截取该密钥?很可能该密钥可用。 但是,您可以使用.dockrignore文件 在项目中的某个位置放置一个带有密钥的文件,并将其加载到代码中,然后将该文件添加到dockerignore,您将能够安全地使用它 这种方法的问题是,您需要手动读取每个pod中都有密

我对容器和docker等概念非常陌生。比如说,我有一个简单的角度Javascript应用程序,可以进行API调用。如果这个应用程序是dockerhub上的一个映像,有人可以访问项目代码吗?例如,如果标题中有一些敏感信息,如订阅密钥,是否有人可以截取该密钥?

很可能该密钥可用。 但是,您可以使用.dockrignore文件

在项目中的某个位置放置一个带有密钥的文件,并将其加载到代码中,然后将该文件添加到dockerignore,您将能够安全地使用它


这种方法的问题是,您需要手动读取每个pod中都有密钥的文件。

很可能它是可用的。 但是,您可以使用.dockrignore文件

在项目中的某个位置放置一个带有密钥的文件,并将其加载到代码中,然后将该文件添加到dockerignore,您将能够安全地使用它


这种方法的问题是,您需要手动读取每个pod中都有密钥的文件。

由于密钥在代码基础上是纯文本的,因此可以通过运行的容器访问密钥。在构建docker映像时,aou会将文件复制到映像中。有人将docker映像作为容器启动后,可以通过交互式会话访问代码


要解决此问题,可以将密钥添加为环境变量。可以使用ˋdocker run-eˋ或ˋdocker run--env fileˋ。通过这种方式,您可以在启动容器时指定密钥,因此更改的密钥不需要重建整个图像,并且没有人可以看到您的密钥访问集线器上打开的图像。

由于密钥在代码基础上是纯文本的,因此可以通过运行的容器访问密钥。在构建docker映像时,aou会将文件复制到映像中。有人将docker映像作为容器启动后,可以通过交互式会话访问代码


要解决此问题,可以将密钥添加为环境变量。可以使用ˋdocker run-eˋ或ˋdocker run--env fileˋ。通过这种方式,您可以在启动容器时指定密钥,因此更改的密钥不需要重建整个映像,并且没有人可以看到您的密钥访问集线器上打开的映像。

一方面,任何可以运行Docker映像的人都可以看到该映像的整个文件系统内容,事实上,它们可以轻而易举地接管整个主机系统。所以Docker不会帮助您保护,例如,第三方API密钥

另一方面,角度应用程序本质上会通过网络传输,并在最终用户的浏览器中运行。这意味着他们可以在浏览器的调试工具中查看(缩小的)应用程序源代码,或者只使用
curl
之类的工具下载应用程序本身


在这种情况下,这意味着在Docker中打包应用程序不会真正改变应用程序的安全状态:作为基于浏览器的应用程序,无论您在服务器端如何打包,它本质上都是公开的。

一方面,任何能够运行Docker映像的人都可以看到该映像的整个文件系统内容,事实上,它们可以轻而易举地接管整个主机系统。所以Docker不会帮助您保护,例如,第三方API密钥

另一方面,角度应用程序本质上会通过网络传输,并在最终用户的浏览器中运行。这意味着他们可以在浏览器的调试工具中查看(缩小的)应用程序源代码,或者只使用
curl
之类的工具下载应用程序本身

在这种情况下,这意味着在Docker中打包应用程序不会真正改变应用程序的安全状态:作为基于浏览器的应用程序,无论您在服务器端如何打包,它本质上都是公共的