commit | 04a83765b18f65a0c4952bc3958b3cd1637cde4f | [log] [tgz] |
---|---|---|
author | David Michael <david.michael@coreos.com> | Thu Apr 20 01:20:52 2017 |
committer | David Michael <david.michael@coreos.com> | Thu Apr 20 01:20:52 2017 |
tree | 8ef46a50b707bb009697fcd10f055dc90e82a81b | |
parent | d70db01d976b432431b79ac178f3ee6051ccd756 [diff] |
toolbox: make toolbox understand the -c shell command option This is a workaround for when toolbox is used as a login shell, and that user then passes a command directly to SSH. SSH handles the situation by calling "toolbox -c 'the whole command'", which can be used by passing arguments to a POSIX shell in the toolbox container (and hoping the user didn't pick a container without one).
toolbox is a small script that launches a container to let you bring in your favorite debugging or admin tools.
$ /usr/bin/toolbox Spawning container core-fedora-latest on /var/lib/toolbox/core-fedora-latest. Press ^] three times within 1s to kill container. [root@localhost ~]# dnf -y install tcpdump ... [root@localhost ~]# tcpdump -i ens3 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens3, link-type EN10MB (Ethernet), capture size 65535 bytes
toolbox uses a Fedora-based userspace environment by default, but this can be changed to any Docker image. Simply override environment variables in $HOME/.toolboxrc
:
core@core-01 ~ $ cat ~/.toolboxrc TOOLBOX_DOCKER_IMAGE=ubuntu-debootstrap TOOLBOX_DOCKER_TAG=14.04 core@core-01 ~ $ toolbox Spawning container core-ubuntu-debootstrap-14.04 on /var/lib/toolbox/core-ubuntu-debootstrap-14.04. Press ^] three times within 1s to kill container. root@core-01:~# apt-get update && apt-get install tcpdump
Set an /etc/passwd
entry for one of the users to /usr/bin/toolbox
:
useradd bob -m -p '*' -s /usr/bin/toolbox -U -G sudo,docker,rkt
Now when SSHing into the system as that user, toolbox will automatically be started:
$ ssh bob@hostname.example.com Container Linux by CoreOS alpha (1284.0.0) ... Spawning container bob-fedora-latest on /var/lib/toolbox/bob-fedora-latest. Press ^] three times within 1s to kill container. [root@localhost ~]# dnf -y install emacs-nox ... [root@localhost ~]# emacs /media/root/etc/systemd/system/docker.service
Please use the CoreOS issue tracker to report all bugs, issues, and feature requests.