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 add
や apt-get install
に何を書けばいいか迷う時があります。そういう時は apk search
や apt-cache search
でパッケージを探すことになります。
ここで Vagrant で Ubuntu VM 立てて…とやると時間かかるしリソースも食いますが、Docker コンテナであれば瞬時に Ubuntu の対話環境が起動しすぐに確認できます。
また、ホスト OS とは隔離されたシェルを用意できるので、環境変数を汚して実験したいようなときに重宝します。