コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

D使いはじめました

今宵は絶好のD日和です

こんにちは僕です。今日もいい天気ですね。こんなにも天気のいい日はなんか"D"について触ってみたくなりますね。


そんなわけで一部では触ったことがないとエンジニアでないとかわけわかんないことを言われている仮想環境ツール(ドッカー)を触っていきます。

Docker(ドッカー)はコンテナ型の仮想化環境を提供するオープンソースソフトウェアである。VMware製品などの完全仮想化を行うハイパーバイザ型製品と比べて、ディスク使用量は少なく、仮想環境 (インスタンス) 作成や起動は速く、性能劣化がほとんどないという利点を持つ。

ちなみにドッカーってこんなやつです。言語にはGoが用いられています。まあ、そんなのはどうでもよくて僕的な感覚としてはイメージ(ベースファイル群)があればやりたい放題加工できる系の仮想環境といった感じです。

公式
Docker - Build, Ship, and Run Any App, Anywhere


触ってみる

そうしたわけで、特になにをするでもないですがさわっていきます。とりあえずチュートリアルに沿ってハローワールド的なやつをいじっていきます。インストールしてdocker -vでバージョンが確認できたら使えると思います。

必要に応じてDocker起動
$ sudo service docker start
「hello-world」プロセス(イメージ)を実行
$ docker run hello-world

そんな感じでコマンドを打つと以下のようなものが実行できます。

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(i386)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://cloud.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

ちなみに、下準備が面倒だったのでUbuntuで動作確認しています。今はWindowsでもMacでも動かせるようにはなっているらしいです。でも、特にWindowsは準備が面倒だったから、なんでも行けるのかは実際未確認です*1

参考
Docker Documentation | Docker Documentation


簡単ですが、こんな感じでDockerって使えるそうです。ちなみに、よくでてくる専門用語を図にするとこんな感じになります。

f:id:andron:20180331053324j:plain
!? つまりどういうことだってばよ……。


まあ、いいや。ハロワ動かしても面白くないのでDockerHubにあるイメージからWordpressさらってきてそれを動かすやつやります。いや、Wordpressはネタとしてネットですごい流通してるのでDrupalさわっていくことにします*2。下のリンクからpullしてこちらの環境にファイルを持ってきます。

DockerHub*3
https://hub.docker.com/



pullが終えたら実行してdocker run --name some-drupal -p 8080:80 -d drupalhttp://localhost:8080にアクセスして以下のようになってれば準備完了です。

f:id:andron:20180330214204p:plain



Drupalの初期設定の話は不思議なことになぜか昔の記事で書いてしまっているのでここでは省略です。

昔の記事
inujini.hatenablog.com



なんだかとことんDのつくツールを使ってやりきったって感じがする。まあ、そんな感じでDockerが使えます。


おまけ

あとGitHubのアイコン作ってみた。今回はクジラさんにしてDockerに詳しそうな感じのキャラにしてみた。今回はじめて利用しているので使いこなせるレベルでないですけどね(笑)。しょうもな……。
github.com

ちなみにDockerのマスコットのクジラは「Moby Dock」って名前らしいです

*1:DockerそのものはLinux環境で動作するためLinuxを動かせる仮想環境の下準備が必要になる

*2:Wordpressに同じCMSです。シェアとかこっちのほうが弱いかもしれない……

*3:Dockerのイメージを共有できるサービス