我可以推送docker compose应用程序让其他人在他们的系统上拉取和运行吗?

js5cn81o  于 2021-06-09  发布在  Redis
关注(0)|答案(2)|浏览(312)

我学习了docker教程
https://docs.docker.com/compose/gettingstarted/
因此,我以一个连接到redis的python应用程序结束。当我去http://localhost:5000/我可以看到每次刷新页面时,计数器加起来是1。我的文件夹中还有一个yml文件、一个需求文件和一个dockerfile。在程序的最后,我可以运行docker compose,并在浏览器中本地查看我的工作结果。到现在为止,一直都还不错。
我可以把我的docker hub中的所有这些都推,这样其他人就可以把它们作为一个映像来拉,并在他们的计算机上运行它们吗?
如何将其推入中心?其他人应该运行什么命令来提取图像并在他们的计算机中运行它?

ht4b089n

ht4b089n1#

我可以把我的docker hub中的所有这些都推,这样其他人就可以把它们作为一个映像来拉,并在他们的计算机上运行它们吗?
只能将单个图像推送到中心。不是服务,也不是整个文件。
如何将其推入中心?
在推送定义的图像之前 Dockerfile ,必须先用 docker build . 当你跑的时候 docker-compose up ,它将为您执行构建。
我建议您阅读一些关于基本docker命令的指南,如 docker build , docker tag 以及 docker run . 手动执行docker compose为您所做的工作有助于理解容器工作流。

brqmpdu1

brqmpdu12#

docker hub只允许上传图像。如您所见,您只能发布python程序。有两种方法可以允许应用程序的使用者同时运行这两种服务:
在文档中,例如docker hub repo的页面上,显示撰写文件的外观。使用此方法,使用者将不得不编写自己的撰写文件,但他们将完全按照您的要求复制粘贴其他服务。这是推荐的方法,也是其他流行的docker hub回购所做的。
你可以创建一个整体 Dockerfile . 例如,保持 ubuntu 作为基础图像,使用 apt-get 下载python、redis等 RUN 所需的命令。这看起来可能更容易,但它会阻止用户启动服务的副本(例如,他们可能需要一个redis示例,但需要两个python示例)。
注意:也可以查看docker应用程序。

相关问题