shell - 从 bash 脚本文件运行 docker-compose

标签 shell nginx docker scripting containers

我不熟悉脚本,需要一些帮助。我正在使用 YML 文件构建 docker 容器。我编写了 YML 代码来自动化我的 Web 服务器(docker-compose.yml)和数据库服务器(docker-compose-mongo.yml)。

现在我想构建一个 bash 脚本,它将调用两个 yml 文件并一起运行。

我想知道我需要在我的 shell 脚本中输入什么命令来调用这两个 yml 文件并将它们一起运行。我最初只是使用

#!/bin/bash
run docker-compose.yml

但是上面的代码不起作用。

附言。下面是我用于 Web 服务器的 yml 文件
version: "3"
services:
  web:
    image: nginx:latest
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.2"
          memory: 330M
      restart_policy:
        condition: on-failure
    ports:
      - "80:80"
    # networks:
      # - webnet
# networks:
  # webnet:

最佳答案

您可以分别调用它们:

#!/bin/bash
docker-compose -f docker-compose.yml up -d
docker-compose -f docker-compose-mongo.yml up -d

或两者结合 nginxmongo服务在同一 docker-compose.yml .

关于shell - 从 bash 脚本文件运行 docker-compose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45154284/

相关文章:

logging - 如何使用goaccess解析多个日志nginx文件

docker - nginx proxy_pass 不适用于主机文件

shell - 使用 golang 从命令行读取输入到 shell 脚本 exec

nginx - 在入口主机名中使用通配符

java - 请求没有被重定向,当通过nginx时

docker - 授予Docker访问主机目录的权限,但稍后放弃更改

ruby-on-rails - Sidekiq 在本地而不是远程寻找 redis

linux - 如何让 GNU screen 在登录时自动启动?

bash - 迭代时无法从文件中替换字符串

linux - 为什么我执行另一个脚本的 bash 脚本没有退出?