Alpine Linuxと言えば2016/04/21に勉強会行ってきてからの(以下のブログより)
そこまで触ってなかったので、簡単なWEBサーバでも動かしてやろうじゃないかと。。
特にADACHIN BBSもリニューアルしたので、Alpine上で運営したいなと思いを胸に。。
やってやろうじゃないか!!!
■docker images alpine:latest
1 2 3 |
$ docker pull alpine:latest $ docker run --name alpine-bbs01 -it -p xx:xx alpine:latest /bin/ash ↑下記のようにbashをインストールすれば/bin/bashでログイン可能 |
・最新repositoryの追加、updateとupgrade
1 2 3 |
~ # mkdir -p /etc/apk && echo "http://alpine.gliderlabs.com/alpine/edge/main" > /etc/apk/repositories ~ # apk update ~ # apk upgrade |
・必要なパッケージインストール
1 |
~ # apk add gcc g++ make libffi-dev openssl-dev vim wget git bash perl automake cmake build-base qt curl |
・デーモン管理
デーモン系がないのでインストールします。
CentOS7のsystemctl的なやつ。
1 |
~ # apk add openrc |
使い方は公式を参考に。
http://wiki.alpinelinux.org/wiki/Alpine_Linux_Init_System
このままrc-statusと打ってもエラーが出てしまうので以下の設定をします。
なんで最初から設定されてないの!w
1 2 3 4 5 6 7 8 |
~ # sed -i 's/#rc_sys=""/rc_sys="lxc"/g' /etc/rc.conf ~ # echo 'rc_provide="loopback net"' >> /etc/rc.conf ~ # sed -i 's/^#\(rc_logger="YES"\)$/\1/' /etc/rc.conf ~ # sed -i '/tty/d' /etc/inittab ~ # sed -i 's/hostname $opts/# hostname $opts/g' /etc/init.d/hostname ~ # sed -i 's/mount -t tmpfs/# mount -t tmpfs/g' /lib/rc/sh/init.sh ~ # sed -i 's/cgroup_add_service /# cgroup_add_service /g' /lib/rc/sh/openrc-run.sh ~ # touch /run/openrc/softlevel |
https://github.com/neeravkumar/dockerfiles/blob/master/alpine-openrc/Dockerfile
neeravkumarさん助かった。。
・確認
1 2 3 4 5 |
~ # rc-status Runlevel: sysinit Dynamic Runlevel: hotplugged Dynamic Runlevel: needed/wanted Dynamic Runlevel: manual |
どんなサービス起動しているか確認できた。(今は何もない)
■nginxインストール
1 |
~ # apk add nginx |
・nginx起動
1 |
~ # rc-service nginx start |
・確認
1 2 |
~ # curl localhost alpine dayoooo |
1 2 3 4 5 |
/ # rc-status Runlevel: sysinit nginx [ started ] →動いてる Dynamic Runlevel: hotplugged Dynamic Runlevel: needed/wanted Dynamic Runlevel: manual |
ちなみにこれでも確認できる。
1 2 |
~ # /etc/init.d/nginx status * status: started |
■まとめ
これでrubyとrails入れて
BBS動くか試してみるぞおおおお!!
あとでDockerfile作っとこ。メンドクサイ。。(nginxもdelete)
0件のコメント