正在将本地目录装入远程docker包含

2024-09-29 05:29:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个远程docker容器,我拉了它,目前正在运行:

docker pull bamos/openface
docker run -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash

我还有一个本地目录

^{pr2}$

ipython中开发时,我需要从my-project中的脚本中import openface,但我不知道如何将my-project装载到{}上,或者应该是相反的方法。在

总的来说,我一直在阅读这里的文档https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-a-data-volume,但还是很困惑。如果有人能帮上忙,我将不胜感激

  1. 给出确切的命令,以便我可以从my-project导入openface
  2. 解释命令的各个方面,这样我就不那么困惑了:D

谢谢你!在

在============================================================== 编辑:

现在我在做:

docker run -v /Users/name/Documents/my-project:/root/my-project -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash

它似乎在起作用。在


Tags: dockerrun命令目录projectbashbin远程
1条回答
网友
1楼 · 发布于 2024-09-29 05:29:47

所以,我将指出一些你可以研究的话题,并给出一些我认为对你有用的想法。在

当您还在学习的时候,让我们回顾一下这些主题:

  • 使用docker图像
  • 自定义docker图像
  • 集成一些docker图像

使用docker图像

这是你已经知道的。运行docker run -v /Users/name/Documents/my-project:/root/my-project -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash并开始使用它。运行一些命令并查看提供的映像的功能。在

用例(对我来说):

  • 有一次,我需要测试NoSQL Cassandra。我很容易地运行docker run name some-cassandra -d cassandra:latest,它已经在工作了
  • 我将制作一个Python/Flask应用程序,因此我不想制作virtualenv,而是更喜欢Docker。在

现在不太好,但使用起来很有趣。在

自定义docker图像

您可以创建自己的图像,而不是使用短暂的图像。所以,你需要了解Dockerfile。下面是一个简单的例子:

FROM bamos/openface

RUN pip install flask
COPY myentrypoint.sh

CMD ["myentrypoint.sh"]

快速解释:

  • bamos/openface开始创建您自己的图像
  • 运行安装python包flask的命令
  • 复制入口点(需要创建一个)
  • 当用户使用容器时运行此入口点

对于这个图像,只需使用名称Dockerfile保存并运行docker build -t chibro2/myopenface .,然后您就有了一个额外的包自己的图像。在

entrypoint是一个默认的sh命令,它将启动某些东西(例如,web服务器)。如果你有一个在线实例(比如AWS),你可以运行你的docker,它会启动你的web服务。如果你在本地测试,你应该在网上得到同样的结果。一个常见的问题是使用不同的版本进行测试(比如python3local和python2在服务器上)。在

使用案例:

  • 制作基础设施的版本(您在git存储库中拥有所需的所有包)
  • 制作一个可以在服务器上轻松运行的映像。在

检查: https://www.digitalocean.com/community/tutorials/docker-explained-using-dockerfiles-to-automate-building-of-imageshttps://docs.docker.com/engine/reference/builder/

集成一些docker图像

在Docker我最喜欢的是Docker的写作。您可以轻松处理多个相互协作的docker图像。docker compose示例:

^{pr2}$

快速解释:

  • 我们创建一个容器数据库,一个postgres数据库
  • 我们创建一个webservice,从Dockerfile构建(这在build中是隐式的),并使用命令python3 manage.py runserver 0.0.0.0:8000运行服务器。在

我建议不要轻易修改代码。

使用docker compose,我们可以轻松地集成多个项目,并用一个命令启动所有项目:docker-compose up

使用案例:

  • 这非常适合微服务
  • 服务发现很容易
  • scale的简单命令(docker-compose scale web=2将创建web服务器的2个实例)。在

检查此快速启动:https://docs.docker.com/compose/django/

结论

关于docker还有很多东西要学。我不能给一个很好的答复,但我希望我能帮一点忙。在

未来可能的步骤是使用Docker Machine和Docker Swarm。在

相关问题 更多 >