/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

VirtualboxにCoreOSをインストールしてDockerアプリを動かす

最近Dockerをよく使っています。そのDockerなんですが、CentOS6系だともうアップデートされなくなっちゃったし、Ubuntuサーバでも立てるか~と思っても今更感が満載なので、せっかくなのでCoreOS上にDockerでアプリを使ってみようかと思いました。

目標的にはこんな感じ

  • CoreOSをインストール ← イマココ
  • docker-composeをCoreOSにインストール
  • dockerでアプリを動かす
  • docker-composeでいろいろなアプリを試す

それでは、まずは環境作成から。

 

CoreOSとは

そもそもCoreOSとはなに?っていうのはこちらがかなり詳しく書いてあります。

CoreOS 入門 - Qiita

ちゃんと勉強したらめっちゃ長くなるだろうし、まだまだ自分も理解できていない部分もあるのですが、個人的に一番気に入っているところは、不要なものを極限まで削っているというところ。そして、アプリケーションはコンテナで動かすのが前提となっているというところ。

Dockerを最近よく使うようになってきたので、その影響によりCoreOSを使ってみようと思った次第です。

 

インストール手順

VirtualBox上にインストールしようと思います。

CoreOSのインストール手順はざっくりかくとこんな感じ。

  • CoreOSのISOを入手してくる
  • VirtualBox上に仮想VMを作る
  • CoreOSのISOから起動する
  • CoreOSをインストールする

ググるといっぱい出てくるので、詳細は割愛させてもらおうとおもいます。個人的にまよったところは最後のCoreOSのインストールだけ。

Virtualboxのコンソールだとキーボードの配列が使いづらいので、とりあえず起動中のVMsshでアクセスできるようにcoreユーザのパスワードを設定します。

sudo passwd core

そしてTeraTermからログインして、スーパーユーザになります。

sudo -s

プロンプトが # になるので、インストールの設定ファイル(cloud_config.yml)を作ります。作ったのはこれ。

#cloud-config

hostname: coreos-dev

users:
  - name: yatta47
    passwd: $1$XXXXXXXXXXXXXXXXXXXXXXXX
    groups:
     - sudo
     - docker
    ssh-authorized-keys:
     - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQE ・・・・・

hostnameを設定して、ユーザの設定をする必要最低限の設定のみって感じです。

passwdのところは起動しているOS上でsudo openssl passwd -1で実際にログインするパスワードを設定します。

今回は元ファイル自体がなかったのでリダイレクトさせて作りました。

localhost ~ # sudo openssl passwd -1 > cloud_config.yml
WARNING: can't open config file: /etc/ssl/openssl.cnf
Password:
Verifying - Password:
localhost ~ #

ssh-authorized-keysはCentOS上で作って、その公開鍵を設定しました。

 

そしてバリデーションチェック。

localhost ~ # coreos-cloudinit -validate=true -from-file=./cloud_config.yml
2017/04/01 04:52:13 Checking availability of "local-file"
2017/04/01 04:52:13 Fetching user-data from datasource of type "local-file"

これは・・・エラーなしってことでいいのか?wまぁいいや。

そしてインストール。(っていうかイメージに焼きこみ?)

localhost ~ # coreos-install -d /dev/sda -C stable -c cloud_config.yml
2017/04/01 04:53:06 Checking availability of "local-file"
2017/04/01 04:53:06 Fetching user-data from datasource of type "local-file"
Downloading the signature for https://stable.release.core-os.net/amd64-usr/1298.7.0/coreos_production_image.bin.bz2...
2017-04-01 04:53:23 URL:https://stable.release.core-os.net/amd64-usr/1298.7.0/coreos_production_image.bin.bz2.sig [564/564] -> "/tmp/coreos-install.el7uglhIng/coreos_production_image.bin.bz2.sig" [1]
 :
 :
 :
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: Good signature from "CoreOS Buildbot (Offical Builds) <buildbot@coreos.com>" [ultimate]
Installing cloud-config...
Success! CoreOS stable 1298.7.0 is installed on /dev/sda
localhost ~ #

Successが出たら、Virtualbox上でISOファイルをアンマウントして、サーバを再起動。

ちゃんとインストールされて起動することを確認。

 

次は

Docker-2

Dockerを使って様々なアプリケーションを動かしたいと思います。

docker面白すぎる。もっともっといろいろな使い方をしてみたい。

プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化

参考にしたサイト

How to Install Coreos on Virtualbox from ISO Image
CoreOSのインストールのメモ - Qiita
CoreOSで遊ぶ(その1:とりあえずインストール) - お菓子食べる部
【CoreOS】VirtualBoxにCoreOSをインストールする | Engineer Log
http://qiita.com/s_ikezawa/items/372db5a253a375b7a6c1
Products - Red Hat Customer Portal
CoreOSをVirtualBoxにインストールする - Qiita
CoreOSを使ってDockerコンテナを動かす——15分でできるCoreOSクラスタの作り方 | さくらのナレッジ