6 / 4 / 3
Регистрация: 23.10.2010
Сообщений: 289
|
|
1 | |
Управление прогой в Docker13.11.2022, 01:35. Показов 1019. Ответов 6
Здравствуйте! Пробую разобраться с докером и для примера написал маленькую консольную прогу, которая при запуске предлагает сделать выбрать из нескольких вариантов - нажмите 0,1,2 и т.д. Этот текст я могу увидеть в докере. Но я не нашел инфы можно ли из докера управлять прогой? Т.е. можно ли из докера выбрать из предложенных вариантов? У меня Docker Desktop.
0
|
13.11.2022, 01:35 | |
Ответы с готовыми решениями:
6
Не могу создать образ Docker, подскажите как сделать. Вылазить ошибка. docker-file. Новичок в докере Docker, IP Host -> Docker responce HELP с прогой Помогите с прогой. Помогите с прогой |
3458 / 2470 / 695
Регистрация: 02.08.2011
Сообщений: 6,692
|
||||||
13.11.2022, 02:04 | 2 | |||||
Только если запустить контейнер c interactive terminal:
0
|
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
|
||||||
14.11.2022, 07:48 | 3 | |||||
Если контейнер ждет ввода на stdin, его можно послать через socat. Например, если программа
Код
FROM bash COPY super-program.sh / CMD ["bash", "/super-program.sh"] Код
docker build . -t sf_test docker run -id --rm --name input_cont sf_test Код
docker logs input_cont Please provide your input [1, 2, 3]: Код
echo 3 | socat EXEC:"docker attach input_cont",pty STDIN Код
docker logs input_cont Please provide your input [1, 2, 3]: you chose three, sleeping for 30 seconds now Код
echo 2 | docker attach input_cont you chose two, sleeping for 30 seconds now
0
|
6 / 4 / 3
Регистрация: 23.10.2010
Сообщений: 289
|
|
14.11.2022, 13:52 [ТС] | 4 |
Прогу сделал с visual studio 2019. Запускаю в докере. В логах сразу же отображается "Выберите команду 1 - ....."
Но дальше чтобы я не пробовал, ничего не подходит. Echo 0 - на следующей строке просто отображает 0, но команда программы не выполняется. Если "echo 3 | socat EXEC:"docker attach input_cont",pty STDIN" - то в ответ получаю, что команда socat не найдена Пробовал и в консоле самого докера, и в консоле студии результат один
0
|
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
|
|
14.11.2022, 17:34 | 5 |
Все предыдущее писалось с расчетом на то, что у Вас linux. Если это не так (VS 2019) предполагаю, что если socat-a в windows нет.
Добавлено через 1 минуту Что должно произойти в результате того, что Вы послали команду в контейнер. Может всё-таки api, а не консольный ввод?
0
|
6 / 4 / 3
Регистрация: 23.10.2010
Сообщений: 289
|
|
14.11.2022, 17:42 [ТС] | 6 |
А про API не слышал. Не могли бы вы дать ссылку на статейку для чайников по этому вопросу?
0
|
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
|
||||||
14.11.2022, 20:35 | 7 | |||||
завел VM винды, написал вот такое чудо (прости Господи)
Код
FROM mcr.microsoft.com/windows/nanoserver:ltsc2022 COPY ./choose.bat ./choose.bat CMD choose.bat Код
docker build -t test_shell . docker run --name win_cont -id test_shell Код
echo 2 | docker attach win_cont docker logs win_cont Please choose a number [1,2,3]: "Two" "Bye!"
0
|
14.11.2022, 20:35 | |
14.11.2022, 20:35 | |
Помогаю со студенческими работами здесь
7
Помочь с прогой Помогите с прогой Помогите с прогой Помощь с прогой помогите с прогой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |