Ubuntu や Alpine Linux をワンコマンドで瞬時に立ち上げる

Posted on
qiita Ubuntu Docker alpine

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。

alpine コマンド、centos コマンド、ubuntu コマンド

Docker 環境を用意して以下のエイリアスを .bashrc なり .zshrc に書いておくと、ワンコマンドで Linux の対話環境が立ち上がって便利

alias alpine='docker run -it --rm alpine:3.3 /bin/sh'
alias centos='docker run -it --rm centos:7 /bin/bash'
alias ubuntu='docker run -it --rm ubuntu:14.04 /bin/bash'
$ alpine
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/community/x86_64/APKINDEX.tar.gz
v3.3.3-20-gb700737 [http://dl-cdn.alpinelinux.org/alpine/v3.3/main]
v3.3.3-9-gfc38db2 [http://dl-cdn.alpinelinux.org/alpine/v3.3/community]
OK: 5858 distinct packages available
$ centos
[root@dfaaba07c44b /]# yum update
Loaded plugins: fastestmirror, ovl
base                               | 3.6 kB  00:00:00
extras                             | 3.4 kB  00:00:00
update                             | 3.4 kB  00:00:00
(1/4): base/7/x86_64/group_gz      | 155 kB  00:00:00
(2/4): extras/7/x86_64/primary_db  | 117 kB  00:00:00
(3/4): base/7/x86_64/primary_db    | 5.3 MB  00:00:00
(4/4): updates/7/x86_64/primary_db | 4.1 MB  00:00:01
...
$ ubuntu
root@359432babe0d:/# apt-get update
Ign http://archive.ubuntu.com trusty InRelease
Get:1 http://archive.ubuntu.com trusty-updates InRelease [65.9 kB]
Get:2 http://archive.ubuntu.com trusty-security InRelease [65.9 kB]
Hit http://archive.ubuntu.com trusty Release.gpg
Hit http://archive.ubuntu.com trusty Release
...

素の Ubuntu だと何も入ってないので、立ち上げてすぐ各種ツール (curl, wget, git, make…) も使えるようにしたいのであれば buildpack-deps イメージを使うようにすればよいです。

alias ubuntu='docker run -it --rm buildpack-deps:trusty /bin/bash'

どういうときに便利か

Alpine とか Ubuntu ベースの Dockerfile を書くとき、apk addapt-get install に何を書けばいいか迷う時があります。そういう時は apk searchapt-cache search でパッケージを探すことになります。 ここで Vagrant で Ubuntu VM 立てて…とやると時間かかるしリソースも食いますが、Docker コンテナであれば瞬時に Ubuntu の対話環境が起動しすぐに確認できます。

また、ホスト OS とは隔離されたシェルを用意できるので、環境変数を汚して実験したいようなときに重宝します。