Измените порт mongodb по умолчанию в экземпляре ECS - PullRequest
0 голосов
/ 05 июля 2018

РЕДАКТИРОВАТЬ: я наконец решил свою проблему, я заменяю командную строку на:

  "command": [
    "mongod",
    "--port",
    "3001"
  ]

Я хочу запустить mongodb на порту 3001 вместо 27017 на моем экземпляре ECS. У меня есть одно приложение (анонсы) и одна база данных (mongodb).

Это моя конфигурация определения задачи:

{
  "executionRoleArn": null,
  "containerDefinitions": [
    {
      "dnsSearchDomains": null,
      "logConfiguration": null,
      "entryPoint": null,
      "portMappings": [
        {
          "hostPort": 80,
          "protocol": "tcp",
          "containerPort": 4001
        }
      ],
      "command": null,
      "linuxParameters": null,
      "cpu": 0,
      "environment": [
        {
          "name": "DB_URI",
          "value": "mongodb://mongo:3001/db-annonces"
        }
      ],
      "ulimits": null,
      "dnsServers": null,
      "mountPoints": [],
      "workingDirectory": null,
      "dockerSecurityOptions": null,
      "memory": 128,
      "memoryReservation": null,
      "volumesFrom": [],
      "image": "XXXXXXXXXXX.dkr.ecr.eu-west-3.amazonaws.com/annonces-service:latest",
      "disableNetworking": null,
      "healthCheck": null,
      "essential": true,
      "links": [
        "mongo"
      ],
      "hostname": null,
      "extraHosts": null,
      "user": null,
      "readonlyRootFilesystem": null,
      "dockerLabels": null,
      "privileged": null,
      "name": "annonces"
    },
    {
      "dnsSearchDomains": null,
      "logConfiguration": null,
      "entryPoint": [],
      "portMappings": [
        {
          "hostPort": 3001,
          "protocol": "tcp",
          "containerPort": 3001
        }
      ],
      "command": [
        "mongod --port 3001"
      ],
      "linuxParameters": null,
      "cpu": 0,
      "environment": [],
      "ulimits": null,
      "dnsServers": null,
      "mountPoints": [],
      "workingDirectory": null,
      "dockerSecurityOptions": null,
      "memory": 128,
      "memoryReservation": null,
      "volumesFrom": [],
      "image": "mongo:latest",
      "disableNetworking": null,
      "healthCheck": null,
      "essential": false,
      "links": null,
      "hostname": "mongo",
      "extraHosts": null,
      "user": null,
      "readonlyRootFilesystem": null,
      "dockerLabels": null,
      "privileged": null,
      "name": "mongo"
    }
  ],
  "placementConstraints": [],
  "memory": null,
  "taskRoleArn": null,
  "compatibilities": [
    "EC2"
  ],
  "taskDefinitionArn": "arn:aws:ecs:eu-west-3:XXXXXXXX:task-definition/annonces-task:17",
  "family": "annonces-task",
  "requiresAttributes": [
    {
      "targetId": null,
      "targetType": null,
      "value": null,
      "name": "com.amazonaws.ecs.capability.docker-remote-api.1.17"
    },
    {
      "targetId": null,
      "targetType": null,
      "value": null,
      "name": "com.amazonaws.ecs.capability.ecr-auth"
    }
  ],
  "requiresCompatibilities": null,
  "networkMode": "bridge",
  "cpu": null,
  "revision": 17,
  "status": "ACTIVE",
  "volumes": []
}

Проблема, кажется, исходит от линии:

"command": [
        "mongod --port 3001"
      ]

Когда я пытаюсь запустить задачу, она немедленно закрывается. Если я удаляю эту строку, она работает, но база данных находится не на порту 3001.

Если я запускаю команду docker logs на конкретном контейнере, я получаю следующую ошибку:

/usr/local/bin/docker-entrypoint.sh: line 340: exec: mongod --port 3001: not found
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...