読者です 読者をやめる 読者になる 読者になる

Fascinated with Tofu

豆腐に魅せられて

軽量コンテナ用 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>/ をつつくことができます。

広告を非表示にする