From 89f32c5bb9e0d2274461a62712592b8752c0e9b9 Mon Sep 17 00:00:00 2001 From: Noah Petherbridge Date: Mon, 30 Mar 2015 13:58:55 -0700 Subject: [PATCH] Add docker-enter script --- home/.editorconfig | 2 +- home/bin/docker-enter | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100755 home/bin/docker-enter diff --git a/home/.editorconfig b/home/.editorconfig index 261299f..4a71fc3 100644 --- a/home/.editorconfig +++ b/home/.editorconfig @@ -15,7 +15,7 @@ insert_final_newline = true indent_style = space indent_size = 4 -[*.yml] +[*.{yml,yaml}] indent_style = space indent_size = 2 diff --git a/home/bin/docker-enter b/home/bin/docker-enter new file mode 100755 index 0000000..0590d88 --- /dev/null +++ b/home/bin/docker-enter @@ -0,0 +1,27 @@ +#!/usr/bin/perl + +# docker-enter: Get inside a docker container, using nsenter. +# +# Usage: docker-enter +# +# See also: +# https://jpetazzo.github.io/2014/03/23/lxc-attach-nsinit-nsenter-docker-0-9/ +# +# --Kirsle +# http://sh.kirsle.net/ + +use strict; +use warnings; + +if (scalar(@ARGV) != 1) { + die "Usage: $0 \n"; +} + +my $container_id = shift(@ARGV); + +# Get the process ID. +chomp(my $pid = `docker inspect --format '{{.State.Pid}}' $container_id`); +die "Couldn't get process ID for that container!\n" unless $pid; + +# Enter the docker container. +exec("nsenter --target $pid --mount --uts --ipc --net --pid");