commit | d510461986ff7fe8160614ba5cf179f8facacdda | [log] [tgz] |
---|---|---|
author | Michael Nguyen <mnguyen@redhat.com> | Fri Jul 10 21:03:23 2020 |
committer | Micah Abbott <miabbott@redhat.com> | Tue Jul 21 16:57:45 2020 |
tree | 7341960a43e95fc3bb9fec0168886697a61e4332 | |
parent | 2a72ddb5ead2bd2a0452c3622ecc32ea4fae8f13 [diff] |
rhcos-toolbox: use same options for non default images Using a Fedora image instead of the RHEL support tools image for toolbox was causing an error only when running from an `oc debug node` pod. There are no issues when running directly on RHEL CoreOS. Adding the podman `--pid=host` option fixes the error but only when usding `podman run`. There seems to be a difference between `podman run` and `podman create`, `podman start`, and `podman exec`. There was also a difference on the second invocation of toolbox if a container was already created. The first invocation would use the images' CMD and the second would use /bin/sh if no command was passed in. The second invocation will now use the images' CMD when executing into the container for a more consistent experience. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1850230
toolbox is a small script that launches a container to let you bring in your favorite debugging or admin tools.
There are currently two scripts that live within this repository:
$ /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
core@core-01 ~ $ cat ~/.toolboxrc REGISTRY=registry.redhat.io IMAGE=rhel7/rhel-tools:latest core@core-01 ~ $ toolbox Spawning a container 'toolbox-test' with image 'registry.redhat.io/rhel7/rhel-tools:latest'
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.