①CoreOSでDockerしてみる(CoreOSのセットアップ)
CoreOSでDockerしてみます。
■CoreOSとは?
Dockerコンテナ実行に特化した、Linuxベースの軽量OSです。
https://coreos.com/
■Dockerとは?
コンテナ型の仮想化オープンソースソフトウェアです。
従来はOS全体を仮想化していましたが、コンテナ型の仮想化は、ソフトウェアアプリケーション単位で仮想化します。
その為、インスタンス生成やインスタンス起動が早く、性能劣化が少ない利点があります。
また、仮想化なので、プラットフォームやハードウェアに依存しません。
例えば、WEBサーバ、WEBアプリケーション、データベース等を1つのコンテナで仮想化しておけば、
開発PC上で作成したコンテナを、そのまま本番環境に配置する事ができます。
https://www.docker.com/
まずは、Hyper-V環境に、CoreOSをセットアップします。
■CoreOSのセットアップ
下記から、「coreos_production_iso_image.iso」をダウンロードします。
・Booting CoreOS from an ISO
https://coreos.com/os/docs/latest/booting-with-iso.html
新規にHyper-V仮想マシンを作成し、ダウンロードしたISOから起動します。
CoreOSが立ち上がるので、ユーザ名Coreのパスワードを設定します。
$ sudo passwd core
インストール後のssh接続用パスワードのハッシュ値を取得します。
$ openssl passwd -1 $【ハッシュ値が表示される】
初期セットアップファイルを作成します。
$ vi cloud-config.yml #cloud-config coreos: update: reboot-strategy: best-effort units: - name: etcd.service command: start - name: fleet.service command: start - name: docker.service command: start - name: timezone.service command: start content: | [Unit] Description=timezone [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/ln -sf ../usr/share/zoneinfo/Japan /etc/localtime users: - name: core passwd: `ハッシュ値` ※「openssl passwd -1」で取得したハッシュ値を設定する groups: - sudo - docker
下記のコマンドでインストールします。
#インストール sudo coreos-install -d /dev/sda -C stable -c cloud-config.yml sudo shutdown -h now #インストールCDを外して、起動する #cloud-config.ymlを保存しておく sudo coreos-cloudinit -from-file=./cloud-config.yml sudo cp cloud-config.yml /var/lib/coreos-install/user_data sudo reboot