軽量コンテナ用 OS alpline に dockerを入れるまで
前ポストの photon に引き続きライトな環境を試しましたのでメモ。 さくさくしていてよい。 余談ですが、ここで初めて触った fish というシェル環境を、普段使い用 mac でも使い始めました。
はじめに
イメージの取得
本家ダウンロードサイト alpine-standard-3.5.1-x86_64.iso
環境
ESXi:5.5 OS:その他の Linux 2.6 64bit Memory/CPU:デフォルト
初回起動
以下の通りに root ログインし、セットアップコマンドを実行。
localhost login: root
setup-alpine
その後対話に従うだけです。
注意点はこちらにある通り、
Which disk(s) would you like to use? (or ‘?’ for help or ‘none’) [none] : sda
Hou would you like to use it? (‘sys’, ‘data, 'lvm’ or ‘?’ for help) [?] : sys
の2点です。
ssh の設定
本来よろしくないかもしれませんが root ユーザでそのまま ssh させます。/etc/ssh/sshd_config
の設定から
PermitRootLogin yes
と変更。
つまずいた場所 - Docker がインストールできない
root@alpine ~# apk add docker ERROR: unsatisfiable constraints: docker (missing): required by: world[docker]
解決方法
こちらのフォーラムに書かれているように、edge community レポジトリを指定しないといけないようです。 知っていれば簡単ですね。
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/main --repository http://dl-cdn.alpinelinux.org/alpine/edge/community docker
docker の proxy 越えの設定
/etc/init.d/docker
を編集して以下2つの export 文を追記。
#!/sbin/openrc-run # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 export http_proxy="<ipaddr>:<port>/" export https_proxy="<ipaddr>:<port>/" command="${DOCKERD_BINARY:-/usr/bin/dockerd}" pidfile="${DOCKER_PIDFILE:-/run/${RC_SVCNAME}.pid}" (以下略)
確認
root@alpine ~# service docker start * Caching service dependencies ... [ ok ] * /var/log/docker.log: creating file * /var/log/docker.log: correcting mode * /var/log/docker.log: correcting owner ulimit: unrecognized option: u * Starting docker ... root@alpine ~# docker run --name ng -p 80:80 nginx Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx 5040bd298390: Already exists 333547110842: Pull complete 4df1e44d2a7a: Pull complete Digest: sha256:f2d384a6ca8ada733df555be3edc427f2e5f285ebf468aae940843de8cf74645 Status: Downloaded newer image for nginx:latest hogehoge - - [08/Feb/2017:05:45:13 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" "-"
iptables はデフォルトで stop していたので、そとから http://<alpine's ipaddr>/
をつつくことができます。