我学习了docker教程
https://docs.docker.com/compose/gettingstarted/
因此,我以一个连接到redis的python应用程序结束。当我去http://localhost:5000/我可以看到每次刷新页面时,计数器加起来是1。我的文件夹中还有一个yml文件、一个需求文件和一个dockerfile。在程序的最后,我可以运行docker compose,并在浏览器中本地查看我的工作结果。到现在为止,一直都还不错。
我可以把我的docker hub中的所有这些都推,这样其他人就可以把它们作为一个映像来拉,并在他们的计算机上运行它们吗?
如何将其推入中心?其他人应该运行什么命令来提取图像并在他们的计算机中运行它?
2条答案
按热度按时间ht4b089n1#
我可以把我的docker hub中的所有这些都推,这样其他人就可以把它们作为一个映像来拉,并在他们的计算机上运行它们吗?
只能将单个图像推送到中心。不是服务,也不是整个文件。
如何将其推入中心?
在推送定义的图像之前
Dockerfile
,必须先用docker build
. 当你跑的时候docker-compose up
,它将为您执行构建。我建议您阅读一些关于基本docker命令的指南,如
docker build
,docker tag
以及docker run
. 手动执行docker compose为您所做的工作有助于理解容器工作流。brqmpdu12#
docker hub只允许上传图像。如您所见,您只能发布python程序。有两种方法可以允许应用程序的使用者同时运行这两种服务:
在文档中,例如docker hub repo的页面上,显示撰写文件的外观。使用此方法,使用者将不得不编写自己的撰写文件,但他们将完全按照您的要求复制粘贴其他服务。这是推荐的方法,也是其他流行的docker hub回购所做的。
你可以创建一个整体
Dockerfile
. 例如,保持ubuntu
作为基础图像,使用apt-get
下载python、redis等RUN
所需的命令。这看起来可能更容易,但它会阻止用户启动服务的副本(例如,他们可能需要一个redis示例,但需要两个python示例)。注意:也可以查看docker应用程序。