Почему сервис не указан в docker-compose ps, когда его имя меняется? - PullRequest
0 голосов
/ 28 марта 2019

Служба не будет указана в docker-compose ps , когда имя службы изменяется в файле docker-compose, например, с redis на redisabc, как показано ниже.Кроме того, docker создает его как контейнер, его можно увидеть, когда docker ps выполнен.

Я перезапустил рабочий стол Docker и также сделал перезагрузку, чтобы машина ничего не изменила.

Мой докерверсия составного файла: 3,6 enter image description here

  redisabc:
   container_name: redis
   image: redis
   command: [ "redis-server", "--protected-mode", "no" ]
   hostname: redis
   restart: always
   ports:
    - 6379:6379
   networks:
    - backend

, поскольку вы видите, что при наборе docker-compose ps нет службы с именем redisabc ps enter image description here

но он остается контейнером (результат docker ps) enter image description here

и таким образом я создаю файл docker-compose enter image description here

Если я снова поменяю имя службы redisabc на redis, все будет работать как положено enter image description here

ВАЖНОЕ РЕДАКТИРОВАНИЕ: Я проверил все с другимкомпьютер и никаких проблем не отображается.Интересно, есть ли какой-нибудь механизм кэширования сервисов в Docker, который я могу очистить все?Я действительно не понимаю, что происходит.

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Я обнаружил точный инцидент после того, как попробовал почти все (много вещей от удаления системы документооборота - объемы до удаления машины докера и т. Д.)

У меня было 2 разных файла Docker с именами base-docker-compose.yml и docker-compose.yml. Во время создания сервиса я вызывал docker-compose через файл base-docker-compose.yml. Создав сервисы, я делал docker-compose ps без файла base-docker-compose.yml, хотя во время исполнения используется base-docker-compose.yml. Затем я делал docker-compose ps , чтобы перечислить все сервисы. Это была моя ошибка, мне пришлось docker-compose -f base-docker-compose.yml ps .

0 голосов
/ 28 марта 2019

Я перепишу свой ответ, потому что я думаю, что я не очень помог.

Просмотр всей информации, которую я повторил в вашей настройке дома, со следующим:

докер-compose.yml:

version: '3'
services:
  redisabc:
    image: "redis"
    command: [ "redis-server", "--protected-mode", "no" ]
    hostname: redis
    restart: always
    ports:
      - 6379:6379

Тогда я начал это:

# docker-compose up
Creating docker_redisabc_1 ... done
Attaching to docker_redisabc_1
redisabc_1  | 1:C 28 Mar 2019 21:23:43.775 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redisabc_1  | 1:C 28 Mar 2019 21:23:43.775 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=1, just started
redisabc_1  | 1:C 28 Mar 2019 21:23:43.775 # Configuration loaded
redisabc_1  | 1:M 28 Mar 2019 21:23:43.776 * Running mode=standalone, port=6379.
redisabc_1  | 1:M 28 Mar 2019 21:23:43.776 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
redisabc_1  | 1:M 28 Mar 2019 21:23:43.776 # Server initialized
redisabc_1  | 1:M 28 Mar 2019 21:23:43.776 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
redisabc_1  | 1:M 28 Mar 2019 21:23:43.776 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
redisabc_1  | 1:M 28 Mar 2019 21:23:43.776 * Ready to accept connections

Выход из пс:

# docker-compose ps
      Name                     Command               State           Ports         
-----------------------------------------------------------------------------------
docker_redisabc_1   docker-entrypoint.sh redis ...   Up      0.0.0.0:6379->6379/tcp

Название службы, в которой оно использовалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...