17668: basic documentation for the new container shell feature.
[arvados.git] / doc / user / debugging / container-shell-access.html.textile.liquid
1 ---
2 layout: default
3 navsection: userguide
4 title: Debugging workflows - shell access
5 ...
6 {% comment %}
7 Copyright (C) The Arvados Authors. All rights reserved.
8
9 SPDX-License-Identifier: CC-BY-SA-3.0
10 {% endcomment %}
11
12 {% include 'notebox_begin' %}
13
14 To use this feature, your Arvados installation must be configured to allow container shell access. See "the install guide":{{site.baseurl}}/install/container-shell-access.html for more information.
15
16 {% include 'notebox_end' %}
17
18 The @arvados-client@ program can be used to connect to a container in a running workflow. It can be installed from packages (@apt install arvados-client@ or @yum install arvados-client@). The @arvados-client shell@ command provides an ssh connection into a running container.
19
20 h2(#syntax). Syntax
21
22 The @arvados-client shell@ tool has a number of command line arguments:
23
24 <notextile>
25 <pre><code>~$ <span class="userinput">arvados-client shell -h</span>
26 arvados-client shell: open an interactive shell on a running container.
27
28 Usage: arvados-client shell [options] [username@]container-uuid [ssh-options] [remote-command [args...]]
29
30 Options:
31   -detach-keys string
32       set detach key sequence, as in docker-attach(1) (default "ctrl-],ctrl-]")
33
34 </code></pre>
35 </notextile>
36
37 h2(#Examples). Examples
38
39 Connect to a running container, using the container request UUID:
40
41 <notextile>
42 <pre><code>~$ <span class="userinput">./arvados-client shell ce8i5-xvhdp-e6wnujfslyyqn4b</span>
43 root@0f13dcd755fa:~#
44 </code></pre>
45 </notextile>
46
47 The container UUID also works:
48
49 <notextile>
50 <pre><code>~$ <span class="userinput">./arvados-client shell ce8i5-dz642-h1cl0sa62d4i430</span>
51 root@0f13dcd755fa:~#
52 </code></pre>
53 </notextile>
54
55 SSH port forwarding is supported:
56
57 <notextile>
58 <pre><code>~$ <span class="userinput">./arvados-client shell ce8i5-dz642-h1cl0sa62d4i430 -L8888:localhost:80</span>
59 root@0f13dcd755fa:~# nc -l -p 80
60 </code></pre>
61 </notextile>
62
63 And then, connecting to port 8888 locally:
64
65 <notextile>
66 <pre><code>~$ <span class="userinput">nc localhost 8888</span>
67 hello
68 </code></pre>
69 </notextile>
70
71 Which appears on the other end:
72
73 <notextile>
74 <pre><code>~$ <span class="userinput">./arvados-client shell ce8i5-dz642-h1cl0sa62d4i430 -L8888:localhost:80</span>
75 root@0f13dcd755fa:~# nc -l -p 80
76 hello
77 </code></pre>
78 </notextile>