Название вопроса совсем недостаточно, чтобы понять ваш вопрос.Нам нужна более подробная информация: какова ваша среда?Какое программное обеспечение используется?Что ты пытаешься?... Без этой информации невозможно дать ответ, который точно соответствует вашей проблеме.В любом случае, я постараюсь оказать вам некоторую помощь, но вы должны уточнить свой вопрос.
В общем, концепция Docker состоит в том, чтобы иметь один экземпляр. Поэтому в хорошо спроектированном контейнере не должно быть нескольких экземпляров.В зависимости от того, какое программное обеспечение у вас есть и какую информацию вы хотите получить, просмотрите файлы Dockerfile
или docker-compose
.
Если у вас нет доступа к ним и контейнер работает в системе, к которой у вас есть доступ, может помочь оболочка внутри контейнера.Используйте docker ps
, чтобы узнать имя нужного контейнера.Затем используйте docker exec -it <container-name> sh
, чтобы получить интерактивную оболочку в этом контейнере.Вы поймете, что ваша командная строка изменится на другой хост, если это сработало:
root@nashost:~# docker exec -it mariadb bash
root@0c4481588ffe:/#
0c4481588ffe
- это идентификатор контейнера.Теперь вы можете выполнять команды внутри контейнера, такие как ps
, чтобы узнать, какие процессы запущены:
root@0c4481588ffe:/# ps -guax
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
mysql 1 0.0 0.9 2978584 322248 ? Ssl Mar12 5:51 mysqld
root 620 0.0 0.0 18508 2296 ? Ss 18:34 0:00 bash
root 636 0.0 0.0 34400 1804 ? R+ 18:34 0:00 ps -guax
Мы также можем использовать инструменты CLI, которые позволяют нам запрашивать базу данных (например, показывать все существующие базы данных, таблицыи так далее):
root@0c4481588ffe:/# mysql -u root -p
Enter password:
Этот пример взят из MariaDB (MySQL fork), поскольку на моей тестовой машине у меня нет базы данных Oracle.Но вы можете сделать нечто похожее с инструментами CLI от Oracle .