LoginSignup
2
2

More than 5 years have passed since last update.

docker経由でコマンドを実行するshort hand

Last updated at Posted at 2017-01-05

処理系をローカル環境にインストールせずに docker 経由で実行する機会が増えてきて、もっと簡単にするためのshell scriptを書いてみました。
/usr/local/bin/d

#!/bin/sh
IMG_TAG=`echo $1 | awk -F\@ '{print $1}'`
CMD=`echo $1 | awk -F\@ '{print $2}'`
IMG=`echo $IMG_TAG | awk -F: '{print $1}'`
TAG=`echo $IMG_TAG | awk -F: '{print $2}'`
if [ -z "$CMD" ]; then
  CMD=`echo $IMG | sed 's/.*\///'`
fi
docker run --rm -it -v $PWD:/mnt -w /mnt --entrypoint $CMD $IMG_TAG "${@:2}"

例えば、 ruby:alpine を実行

x> d ruby:alpine -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]

私家版の古いやつを実行

x> d s21g/ruby:1.8.7-p374-1 -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

そこで irb を実行

x> d s21g/ruby:1.8.7-p374-1@irb
irb(main):001:0>

$PWD をマウントしてるので、 d haron/vim test.rb で手元のファイルを編集して、d s21g/ruby:1.8.7-p374-1 test.rb で普通に実行できます。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2