推荐在Docker上工匠的方式

2022-08-30 22:14:35

我还没有找到一种优雅而有效的方法在基于 Docker 的本地开发环境中运行 Laravel Artisan 命令。

任何人都可以建议推荐或“适当”的方式来做迁移之类的事情吗?

或者,有没有人找到一种巧妙的方法来做到这一点?最好是示例或建议。

我考虑过的事情:

  • 一个带有 ssh 的新容器(共享相同的卷和数据库链接),仅用于运行命令(似乎很讨厌)。
  • 主管中的黑客,然后可能最终在现场运行(不理想)。
  • 编辑数据库配置,或尝试在“主机”环境中进行黑客攻击,以便至少可以从主机运行迁移之类的操作。
  • 创建Web前端来运行东西(真的很讨厌)。
  • 试图为它建立一个“信号”。

我仍然在研究Docker,这是一种新的容器方法。

我想我想平衡酷开发运维的东西和为什么-do-i-need-another-fake-server-just-get-it-work-already。

我很想在我的开发工作流程中使用它,但在某些情况下使用它似乎变得很尴尬,比如这个......

欢迎任何建议和想法。谢谢大家。


答案 1

Docker 1.3 带来了新的命令 exec 所以现在你可以“进入”正在运行的容器,就像

docker exec -it my-container-name /bin/bash

之后,您可以运行所需的任何命令

php artisan --version

答案 2

关于 Docker 的最佳实践是在自己的容器内运行每个进程。因此,运行命令的理想方法是具有专门用于创建容器的映像。artisan

我创建了一个可以从 Docker Hub 中提取的映像,它运行得非常好。它也在GitHub上,如果你想看看它的背后。dylanlindgren/docker-laravel-artisanDockerfile

我刚刚还写了一篇博客文章,描述了所有这些独立容器组合在一起的方式。


推荐