Puncte:0

Nu se pot `ssh` și `docker exec` într-o singură comandă

drapel br

vreau sa ssh într-un server la distanță care rulează un motor docker și apoi docker exec A bash în containerul-meu-frumos, în modul interactiv. Vreau să fac totul dintr-o singură lovitură.

Fac asta de pe computerul meu local:

ssh my-site-with-a-docker-engine.example.com docker exec -it my-nice-container bash

Primesc această eroare: „dispozitivul de intrare nu este un TTY”

Întrebare: Cum pot forța ssh pentru a anunța cealaltă parte că suntem într-adevăr un terminal interactiv?

Nota 1:

Dacă fac această comandă „divizată”, funcționează:

  1. eu primul ssh,
  2. Eu apoi din interiorul ssh Tastesc docker exec.

Nota 2:

Comenzile non-interactive funcționează bine. De exemplu, aceasta funcționează:

ssh [email protected] docker ps -a
Puncte:0
drapel br

Găsite. Era -t. O primă privire la pagina de manual https://linux.die.net/man/1/ssh iar căutarea cuvintelor „terminal” și „interactiv” nu s-a rezolvat, de aceea am întrebat.

Apoi am constatat că "-t Forțați alocarea pseudo-tty."

Acest lucru este verificat să funcționeze:

ssh -t my-site-with-a-docker-engine.example.com docker exec -it my-nice-container bash

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.