我是码头哲学的忠实粉丝(至少我认为我是)。即便如此,我似乎仍然相当新手,因为我似乎没有掌握使用docker的预期方式。
正如我目前所看到的,有两种方法可以使用docker。
我个人会选择根据第二个选项进行设置。有一个数据库容器/服务,nginx容器/服务等。这对我来说似乎更灵活,更有意义。
然而,我正在努力如何使这项工作。我如何让nginx服务看看php服务并将nginx配置指向数据服务中的代码文件夹等。我已经阅读了一些关于覆盖网络的内容但是这并不能让我明白nginx如何寻找php在一个单独的容器/服务中。因此,我有两个(半)问题:
答案 0 :(得分:1)
如何使用泊坞广告(上面的选项1或2或完全不同)?
至于你,我更喜欢使用选项#2,但我有时也使用了选项#1和选项#2的混合。所以这一切都取决于用例以及哪些选项看起来更适合用例。在我们的一个客户端,需要将SSH和Nginx,PHP全部放在同一个容器中。所以我们混合#1和#2。 Mysql,redis在自己的容器和应用程序上的一个容器
如何将服务链接在一起(让nginx在其他服务中查找php)?
使用docker-compose
定义您的服务,使用docker stack
来部署它们。您不必担心服务的名称
version: '3'
services:
web:
image: nginx
db:
image: mysql
environment:
- "MYSQL_ROOT_PASSWORD=root"
现在使用
进行部署docker stack deploy --compose-file docker-compose.yml myapp
在nginx
容器中,您可以使用服务名称db
访问mysql。因此链接会自动发生,您无需担心。
我知道我是一个初学者,试图掌握这个概念,但设置一个简单的网络服务器和运行网站似乎是一项基本任务(至少,它是以传统方式为我)但我似乎无法随时随地在线查找答案。我觉得我想使用码头工具还是看起来不够好看,我完全不合格
文章形式有很多好的资源,你只需看看