Как передать вход stdin в приложение go из dockerimage - PullRequest
0 голосов
/ 12 февраля 2020

Я все еще плохо разбираюсь в docker, поэтому заранее извиняюсь.

Мне нужно запустить этот пакет: https://github.com/sclevine/yj

На данный момент я сделал

  1. вытащил это изображение в моем GOPATH (хотя я не думаю, что нужно было быть на GOPATH).
  2. Тогда я сделал docker build yj .

Теперь я не знаю, как выполнить команду для преобразования github yaml в hcl. Я попробовал следующие команды, но все выдали сообщение «help» из программы

docker run -it <image_id> /bin/bash
docker run -it <image_id> /bin/yj
docker run -it <image_id>
docker run -it <image_id> -yc
docker run -it <image_id> /bin/yh -yc
docker run -it <image_id> /bin/yh
docker run -it --entrypoint /bin/bash ad5d67b05c22
docker run -it <image_id> -xyc
docker run -it <image_id> yj -yc

Несколько команд, таких как docker run -it <image_id> yj -yc, не показывали никаких ошибок. Курсор остался в консоли (без подсказки). Я попытался вставить файл yaml, но ничего не произошло.

1 Ответ

1 голос
/ 12 февраля 2020

Здесь нужно кое-что прояснить:

  1. В вашей команде сборки есть синтаксическая ошибка, и это должно быть что-то вроде docker build -t yj ., которое создаст новый образ с именем yj и тегом latest
  2. Каждый раз, когда вы запускаете docker run -it <image_id> /bin/bash, он создаст новый контейнер, и вам придется явно удалить его. Вы можете увидеть все эти контейнеры, используя docker ps -a. Для одноразового использования добавьте флаг --rm, чтобы docker удалял контейнер при выходе из контейнера.
  3. Как только изображение yj было построено, вот некоторые из команд, которые Вы можете запустить, чтобы увидеть, как это работает
docker run --rm -i yj <<EOF
key: value
EOF

или

echo key: value | docker run --rm -i yj
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...