LoginSignup
15

More than 5 years have passed since last update.

初心者のための DockerPrivateBeta with AlpineLinux ① Macに導入編

Last updated at Posted at 2016-05-09

数分でローカル環境で動かせて、かつ、本番まで使える軽量環境がまもなくやってきそう。

Dockerがweb系の方々にバズっていた2014年頃、Dockerを試すのは、お気軽とは言えなかった。例えば、当時のエントリー、初心者による初心者のための Docker ~ Nginx を動かす ~は、とても丁寧に解説してくれていて今でも一読に値するが、"Nginx on Docker with CoreOS on Virtualbox with Vagrant"という内容は、、動かすことだけが目標になってしまいそう。また、CoreOSも、今にして思うと、けっこうマニアック。

それから約2年。ほんとに数分でローカル環境で動かせて、かつ、本番まで使える軽量環境、"Nginx on Docker with Alpine Linux"の世界がやってきた。そう、今年度に新登場のDockerPrivateBetaによってね。

今はまだ、Private Betaだけど、楽しい未来が待ってそうな話。ということで、軽く動かしておこう。
今回はMac導入編。
※末尾に、グヌヌ...なwindows 10でのDockerPrivateBetaの現状を書いておく。近日中にWindows10導入編を書きたい。

お気軽Docker with Alpine Linux

さて、Mac上でのDocker Private Betaについては、Qiita上に、すでに、お試しレポートがある。

私の"使ってみた"も基本的に同じ。Docker Private betaを通常のMacアプリと同様にインストールするだけ:

スクリーンショット 2016-05-09 20.23.50.png

これだけで、dockerをお試しできるようになる。こちらは、Mac OSの仮想環境と統合されており、virtualboxやvagrantは必要ない。今月からは、メール登録して、その日のうちにprivate betaの招待状がきたりするらしいので、お気軽にdockerを試すのに極めておすすめ。

インストール後は、Dockerクジラのガイダンスに従って、コンソール画面でdocker versionやdocker psを試しておこう。

スクリーンショット 2016-05-09 21.17.01.png

Docker hub上のalpine linuxベースのイメージ、大増殖中。

その他、おおよそのところは、上のレポートに譲るとして、ここでは、Docker hubのalpine linuxリポジトリの盛り上がりっぷりを軽く書いておく。。
docker hubリポジトリには続々とalpine linuxベースのdockerイメージがpushされている:
http://bit.ly/dockalpinefull

※現時点で、alpine linuxをベースとしたイメージは3,600以上とのこと。

この中から、alpine linuxベースのDockerイメージのメジャーどころ(スター数が多い又はダウンロード数が多い)をいくつか試してみると、Docker private betaLalpine linuxの軽さが実感できるはず。

その中でひとつだけ、nginx対応のイメージを紹介しておく:
https://hub.docker.com/r/smebberson/alpine-nginx/

こちらのDockerfileは、以下の通り:

FROM smebberson/alpine-base:1.2.0
MAINTAINER Scott Mebberson <scott@scottmebberson.com>

# Install nginx
RUN apk add --update nginx=1.8.0-r1 && \
    rm -rf /var/cache/apk/* && \
    chown -R nginx:www-data /var/lib/nginx

# Add the files
ADD root /

# Expose the ports for nginx
EXPOSE 80 443

以下のコマンドで、私の古めMacbook airでも、10秒ちょいで、Nginxが立ち上がった。

docker run -p 80:80 -p 443:443 --name nginx smebberson/alpine-nginx

※-p オプションは、ローカル環境への port fordingを行う(この場合、80番ポート-> 80番ポート)

アクセス結果はこんな感じ(curlっぽい(?)httpieを使用):

$ http get localhost
HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html
Date: Mon, 09 May 2016 12:39:45 GMT
ETag: W/"5654f43d-352"
Last-Modified: Tue, 24 Nov 2015 23:35:25 GMT
Server: nginx/1.8.0
Transfer-Encoding: chunked

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>

...以下略...

ここから先は、中級者を目指す別エントリーで書こうと思う

(付記) Docker/Docker Hub界隈の用語を整理したい。

リポジトリ,イメージ,push...といったDocker/Docker Hub界隈の用語については、スライドDockerイメージの理解とコンテナのライフサイクルが、わかりやすくまとめてくれている。

本スライド中から全体像部分を1枚引用させていただく。

overview.PNG

...git/githubに関する理解が役立ちそうなことがわかるかな。

(おまけ)GW中に、DockerPrivateBeta on windows10も動かしておくつもりだった。

さて、windowsネタらしい(?)トラブルレポートを付記。

注、DockerPrivateBeta on windows10、もう動いている人もいらっしゃる:
-Docker for Windows(beta)に関するメモ

自分の場合、insider preview版のwindows 10を使っているせいか、Docker Forumで議論されている”Error response from daemon: dial tcp 10.0.75.2:2375...”の板に起因するエラーで、いまのところ、動かせていない(以下のような奴)。

err.PNG

この類のエラーは、以下にある通り、Dockerチームが頑張ってくれて次の(今週中に出てくる?)Beta 10では動くっぽいので、今しばらく待ちましょう。

※ Hyper-V周りをいじくれば動かせるらしいのだけど、GW中は意外とあれこれ忙しく、いじくる気力がなかった。

ちなみに、コマンドラインで上のようなエラーが出ている間は、kitematicも動いてくれない、残念! :
kitekurenai.PNG

DockerPrivateBeta@windows 10、他の症状に見舞われている人たちもいるみたいね。

...ぁ、windows 7/8はそもそもDockerPrivateBetaの動作対象外、残念!

Windowsな人もMacな人も、Alpine Linux上でもDockerを動かしてみるのも一案

以上!...で終わってもいいのだけど、ちょっと寂しいので、普段使いもできる軽量LinuxなAlpineを、windowsのvirtualboxで動かしてみたけど楽しいよ、的なエントリーを書いたついでに、Alpine linux上でdockerを動かせるよということを付記しておく。

といっても、こちらのエントリーの"Alpine Linux に Docker をインストールする"に概ね従っただけ。

自分の場合、Alpine Linux上で以下をタイプするだけで、dockerが動作した。

apk update
apk add docker

...ちょっとしたワーニングが出るけど、ローカルでのお試しなので気にしてない。windows7/8な人はもちろん、Macな人もalpine linuxを学んでおきたい人は、Docker on Alpine Linuxもお勧めかも。

Dockerのお供はAlpine Linux、という時代が来つつあることが実感できるかも(もちろん、別な軽量Linuxに移る可能性はあるけど、その時もLinuxの経験値は決して無駄にならないはず)。

 今年が、DockerとAlpine Linuxの学び時か。

このエントリー書いてて改めて思ったけど、DockerもAlpine Linuxも先人の経験値が詰まったエントリーがいくつも見つかる。vagrantやvirtualboxの諸々に悩まされずに、DockerとAlpine Linuxをお試しするのは、今年がいい気がする。まずは、Docker & Alpine Linuxでググッて気になるエントリーを探ってみてはいかが?

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15