---
slug: "docker-run-via-ssh-then-input-device-is-not-a-tty"
title: "SSH 経由 で docker run 等する歳、ssh docker run the input device is not a TTY が出たら -t オプションをつける"
description: "ssh コマンドの引数で docker run しようとした時、ssh docker run the input device is not a TTY が出る場合、ssh に -t オプションをつければ良い"
url: "https://www.ytyng.com/blog/docker-run-via-ssh-then-input-device-is-not-a-tty"
publish_date: "2022-06-12T02:55:49Z"
created: "2022-06-12T02:55:49Z"
updated: "2026-02-26T20:40:08.572Z"
categories: ["Docker", "Linux"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/970cf88b2430495abce8a408deddb710.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

# SSH 経由 で docker run 等する歳、ssh docker run the input device is not a TTY が出たら -t オプションをつける

<p>リモートサーバで</p>
<pre>docker run --rm -it &lt;image-name&gt; /bin/sh</pre>
<p>といった形で、TTY を使った対話式のプログラムを起動したい時。</p>
<p></p>
<pre>ssh &lt;user&gt;@&lt;remote-server&gt;</pre>
<p>した後に、接続先のリモートシェルが起動し、その中で</p>
<pre>docker run --rm -it &lt;image-name&gt; /bin/sh</pre>
<p>した時は問題無く docker 上で TTYを使うプログラムが使える。</p>
<p></p>
<p>ただし、ローカル(mac 等) から</p>
<pre>ssh &lt;user&gt;@&lt;remote-server&gt; -- docker run --rm -it &lt;image-name&gt; /bin/sh</pre>
<p>といった形で、一発で SSH と docker run をしようとすると、</p>
<pre>ssh docker run the input device is not a TTY</pre>
<p>というエラーが出て起動できない。</p>
<p>その場合、<code>ssh</code> に <code>-t</code> オプションをつければ良い。</p>
<p></p>
<pre>ssh <strong>-t</strong> &lt;user&gt;@&lt;remote-server&gt; -- docker run --rm -it &lt;image-name&gt; /bin/sh</pre>
<p>これでOK</p>
