我可以在nginx docker镜像上安装anaconda吗



我是docker的新手,应该做基于nginx和mongoDB docker镜像的人脸检测项目。我不想更改我的图像,因为我认为在这个nginx和mongoDB上有一些特殊的设置。

为了运行我的代码,我需要anaconda,因为我不能用pip安装像dlib这样的库。我的问题是,我可以在nginx docker镜像上安装anaconda吗?如果是,如何

感谢

Nginx的Docker镜像是基于Debian的,所以是的,肯定可以在其中安装anaconda。然而,这可能不是一个好主意,因为Docker的理念是每个Docker容器都应该只有一个关注点,一个好的经验法则是容器应该只运行一个进程(请参阅Dockerfile最佳实践(。您不应该在同一个Docker容器中同时运行Nginx、MongoDB以及Python代码。

相反,您可能想要研究docker-compose,它将帮助您协调运行多个容器。在docker-compose.yml文件中,您可以定义三个"服务",它们在docker-compose术语中被称为:

  • 暴露端口27017的mongodb容器
  • Python人脸检测项目的Docker镜像(为此,您必须编写自己的Dockerfile(,公开应用程序所需的任何端口
  • nginx容器,可能绑定端口80&443发送给您的主机

然后可以将每个服务设置为相互连接。docker-compose还为您处理Docker网络,因此您可以从Nginx容器访问MongoDB容器上的端口27017作为mongodb:27017(前提是该服务名为"MongoDB"(

最新更新