Adachinですっ。
インフラの友人が「Alpine Linuxの勉強会が渋谷であるんだけど行かないか?」と誘ってきたので、
仕事帰りに行ってメモ取ってきました。
下記イベント詳細:Alpine Linux Meetup Tokyo #1
■Alpine Linuxとは
読み方は「アルパイン」です。
musl libc、BusyBox をベースに構成されているやたら軽量でセキュアなLinux(組み込み系にも最適)。
LinuxではCentOS、Ubuntuが非常に有名ですが、なんでAlpineが最近熱いのか!?
それはこんな記事からだったのです・・・(下記にてリンク飛べます)
Docker Official Images are Moving to Alpine Linux
元々、Dockerのイメージファイルは圧縮されてかなり少ないイメージになっているんですが、
どうせならAlpine Linuxにしちゃおうぜ!となり、計画中と発表されましたが、既に切り替わっているようです。
そんなわけで、IT業界ではお祭り騒ぎになっているわけです。
というわけで、今後もしかしたらAlpineに切り替わるかもしれないので勉強がてらDockerに入れてみました。
■Docker Hub
DockerHubにAlpineのイメージファイルが上がってるんですが、
2つあってどれを使えばいいのかわからん!
勉強会でどっちを使えばいいのか教えてくれました。
・https://hub.docker.com/_/alpine/
こちらは公式。
apk-installコマンドがバンドルされてない。
1 2 |
~ # which apk-install ~ # |
・https://hub.docker.com/r/gliderlabs/alpine/
apk-installコマンドがバンドルされている。
1 2 |
~ # which apk-install ~ # /usr/sbin/apk-install |
これくらいなので、gliderlabsでもOKです。結局同じですw
apk-installについては以下で説明します。
■Alpine Linuxパッケージマネージャコマンド
・パッケージ追加/バージョン指定/パッケージ群をまとめて別名に
1 2 3 |
# apk add nginx vim # apk add ruby=2.2.4-r0 # apk add ruby --virtual=build-ruby 後から消すのが楽 |
・パッケージ削除
1 |
# apk del nginx |
・アップデート
1 |
# apk update |
・アップグレード
1 |
# apk upgrade |
・インストール後にゴミを消す
1 |
# apk add --no-cache nginx |
ここらへんをよしなにやってくれるのがapk-installコマンドなのです。
■ちょいと動かしてみた
1 2 3 4 5 6 |
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE alpine latest d7a513a663c1 10 days ago 4.798 MB gliderlabs/alpine latest 8944964f99f4 10 days ago 4.798 MB ubuntu latest e9ae3c220b23 10 days ago 187.9 MB centos latest e9fa5d3a0d0e 10 days ago 172.3 MB |
約5MB!?驚異的な軽さだ。。
ちなみにISOだと83MBだそうです。
1 2 3 |
root@test-docker:~# docker run -it alpine /bin/bash docker: Error response from daemon: Container command '/bin/bash' not found or does not exist.. root |
なんとAlpineはbashでなくsh(ash)だということを気をつけよう!!!
bashが必要ならインストールしよう。
1 2 3 4 5 6 7 8 9 10 11 |
/ # ls -l /bin/ |head -n 10 total 792 lrwxrwxrwx 1 root root 12 Apr 1 18:56 ash /bin/busybox lrwxrwxrwx 1 root root 12 Apr 1 18:56 base64 /bin/busybox lrwxrwxrwx 1 root root 12 Apr 1 18:56 bbconfig /bin/busybox -rwxr-xr-x 1 root root 809128 Dec 16 08:00 busybox lrwxrwxrwx 1 root root 12 Apr 1 18:56 cat /bin/busybox lrwxrwxrwx 1 root root 12 Apr 1 18:56 catv /bin/busybox lrwxrwxrwx 1 root root 12 Apr 1 18:56 chgrp /bin/busybox lrwxrwxrwx 1 root root 12 Apr 1 18:56 chmod /bin/busybox lrwxrwxrwx 1 root root 12 Apr 1 18:56 chown /bin/busybox |
コマンド系は/bin/busybox (単一バイナリ)のシンボリックリンクになっている。
■cyberの@stormcat24さんより
実際に本番運営(xxxx FRESH!)をしている。
すぐ動画系のあれだと気づいた。
ECS(dockerに最適なEC2)とNginxで動いており、特に問題なく動いてるそうです。(すげえ。)
■@tonymorrisjpさんより
自作サーバにAlpineいれてdesktop環境が作れなくて断念したという話が会場でウケて爆笑した。
非常に市場価値があるなど。
■Amazonの人
実作業でECS使ってdockerにAlpine入れてゴニョゴニョしてた。
パワポ配布されてないかな….
■まとめ
勉強会の雰囲気は最高で現地に迷ったが会社の近くで笑った。
自分自身Alpineを使っていなかったので、勉強になった。
とにかくイメージは軽さは正義であることと、
管理画面とかwordpressとかAlpineでもいいんじゃないかと感じた
次回もこの勉強会に参加していこうと思う。
0件のコメント