Hejdaの見る夢

一人前のエンジニアを目指して頑張ったこととかをつらつら書くブログ

Ubuntu 18.04にDockerをインストールする(+docker-composeも)

アジェンダ

repositoryをアップデートする

  • apt パッケージのアップデート
sudo apt update
  • HTTPS経由でrepositoryをやりとり出来るようにするためのパッケージをインストール
sudo apt install -y \
     apt-transport-https \
     ca-certificates \
     curl \
     software-properties-common
  • Dockerの公式GPG keyを追加する
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • repository( stable ) を追加する
sudo add-apt-repository \
     "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
     $(lsb_release -cs) \
     stable"
  • 再度 apt パッケージのアップデート
sudo apt update

docker をインストールする

  • インストール・起動
sudo apt install -y docker-ce
  • 起動確認
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-07-09 17:51:00 JST; 58s ago
     Docs: https://docs.docker.com
 Main PID: 3920 (dockerd)
    Tasks: 16
   CGroup: /system.slice/docker.service
           tq3920 /usr/bin/dockerd -H fd://
           mq3935 docker-containerd --config /var/run/docker/containerd/containerd.toml
  • プロセスの確認(sudo有)
$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

指定の一般ユーザでも sudo 無しでdockerを使えるようにする

  • 初期設定では出来ない
$ whoami
iganari
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/json: dial unix /var/run/docker.sock: connect: permission denied
  • 一般ユーザ( iganari )をDockerグループに追加する
### 確認
$ cat /etc/group | grep docker
docker:x:999:


### 追加
sudo gpasswd -a iganari docker


### 確認
$ cat /etc/group | grep docker
docker:x:999:iganari
  • dockerが使用するソケットを一般ユーザでも読み込み出来るようにする
sudo chmod 666 /var/run/docker.sock
  • プロセスの確認(sudo無)
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

docker-composeをインストール

  • /usr/local/bin/ 配下にダウンロード
sudo curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  • 実行権限の付与
sudo chmod 0777 /usr/local/bin/docker-compose
  • 確認(sodo無)
$ docker-compose -v
docker-compose version 1.6.2, build 4d72027

以上でやりたいことが出来ました 😉

Windows 7にVirtualBox 5.2.12を入れてUbuntu 18.04を入れる(2018/07) 後編

アジェンダ

前篇

  • VirtualBoxのインストール
  • Ubuntuのダウンロード
  • 仮想サーバ用のBoxを作成する
  • 最終的な状態

後編(今回)

  • Ubuntuの初期構築を行っていく

Ubuntuの初期構築を行っていく

通常モードで起動

f:id:nari_kyu:20180704140202p:plain

言語選択

f:id:nari_kyu:20180704140218p:plain

キーボードレイアウトの選択

f:id:nari_kyu:20180704140413p:plain

プラットフォームの選択

f:id:nari_kyu:20180704140532p:plain

ネットワークの確認

f:id:nari_kyu:20180704140553p:plain

Proxy Serverの設定

  • 今回は設定無し

f:id:nari_kyu:20180704140648p:plain

インストールするディスクの確認

f:id:nari_kyu:20180704140735p:plain f:id:nari_kyu:20180704140840p:plain f:id:nari_kyu:20180704140857p:plain f:id:nari_kyu:20180704140904p:plain

ユーザの作成

f:id:nari_kyu:20180704162129p:plain

インストール開始

f:id:nari_kyu:20180704162244p:plain

最後に設定反映のために再起動を求められるので再起動(reboot)を行う

起動とログインテスト

  • 先ほど作成したユーザネームとパスワードでログイン出来るか確認する

f:id:nari_kyu:20180704162657p:plain

f:id:nari_kyu:20180704162711p:plain

OSとバージョンの確認

  • コマンド
cat /etc/lsb-release
  • 結果
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04 LTS"

f:id:nari_kyu:20180704163214p:plain

今回はここまでです。

次回は初期設定を行っていきます。

Windows 7にVirtualBox 5.2.12を入れてUbuntu 18.04を入れる(2018/07) 前篇

アジェンダ

前篇(今回)

  • VirtualBoxのインストール
  • Ubuntuのダウンロード
  • 仮想サーバ用のBoxを作成する
  • 最終的な状態

後編

  • Ubuntuをセットアップしていく

VirtualBoxのインストール

公式ダウンロードページ

https://www.virtualbox.org/wiki/Downloads

上記からWindows用をダウンロードして、Windowsにインストールします。

インストールする場所は任意で構いませんが、Boxイメージを作成する関係上、ディスク残容量が多いディスクが良いでしょう。

以下、インストール出来ました。

f:id:nari_kyu:20180704104819p:plain f:id:nari_kyu:20180704104955p:plain

Ubuntuのダウンロード

https://www.ubuntu.com/download/server

上記から、 Ubuntu Server 18.04 LTS をダウンロードしておく

保存場所は任意で良いかと思います。

仮想サーバ用のVirtualBoxを作成する

Box自体を作成

「新規」を選択

  • 仮想マシンの作成
    • 名前とオペレーティングシステム
      • 名前 = workspace
      • タイプ = Linux
      • バージョン = Ubuntu (64bit)
    • モリーサイズ
      • 1024MB
    • ハードディスク
      • 仮想ハードディスクを作成する
    • ハードディスクのファイルタイプ
      • VDI
    • 物理ハードディスクにあるストレージ
      • 固定サイズ
    • ファイルの場所とサイズ
      • そのまま(10.00GB)

以下のように作成出来ました。

f:id:nari_kyu:20180704105849p:plain

ネットワークの作成

「ファイル」を選択

  • ホストネットワークマネージャー
  • 作成
  • アダプター
    • アダプターを手動で設定
      • IPv4 アドレス
        • 192.168.50.1
      • IPv4ネットマスク
        • 255.255.255.0
  • DHCPサーバ
    • サーバーを有効化
      • サーバアドレス
        • 192.168.50.100
      • サーバマスク
        • 255.255.255.0
      • アドレス下限
        • 192.168.50.101
      • アドレス上限
        • 192.168.50.254
  • 「マシンツール」でネットワークマネージャ終了

f:id:nari_kyu:20180704110701p:plain

作成したVirtualBoxにネットワークの設定をする

先ほど作成したworkspaceをクリックして「設定」

f:id:nari_kyu:20180704110825p:plain

  • 一般
    • 変更無し
  • システム
    • マザーボード
      • 起動順序
        • 「フロッピー」からチェックを外し、順序も下位へ移動
  • ディスプレイ
    • 変更無し 
  • オーディオ
    • 「オーディオを有効化」のチェックを外す
  • ネットワーク
    • アダプター2
  • ストレージ
    • 以下のように先にダウンロードしておいたUbuntuを指定しておきます

f:id:nari_kyu:20180704111642p:plain

最終的な状態

f:id:nari_kyu:20180704111758p:plain

次回からUbuntuをセットアップしていきます。

Cloud Native Meetup Tokyo #2 に行ってきた時の個人メモ

URL

https://cloudnative.connpass.com/event/87657/

SkaffoldでKubernetesネイティブな開発環境を作ってみた

Skaffoldは、コンテナのビルド、プッシュ、k8sへのデプロイを自動化して、開発作業をを効率化してくれるCLIツールです。今回、Skaffoldの利用方法を解説するとともに、ローカル開発、CI/CDへの組み込みで使ってみたので、実際の使用感をレポートします。

コンテナネイティブなワークフローエンジン Argo

  • 登壇者
    • Wataru Matsui @watawuwu (さび開発)
Kubernetes 上に展開できるコンテナネイティブなワークフローエンジン Argo。ワークフローを Custom Resource Definition で定義することができるため、親和性の高い YAML で管理することが可能です。今回は Argo で出来ることや、今後注力していくCI/CDなどの機能についてお話します。
  • argoとは
    • k8s上で動くワークフローエンジン
  • ワークフローエンジンとは
    • データパイプラインをマネジメントするもの
  • Argo
    • Argo workflows
    • Argo Ci
    • Argo CD
    • Argo Events
  • GitHub

  • まとめ

    • ほかのツールと組み合わせでいろいろ出来ることが増えそう
    • Argo単体だとかゆいとこに手が届きにくい

Introduction to Kubeflow 0.1 and future

KubeCon 2017 NA で発表、KubeCon 2018 EU で 0.1 のリリースが報告された ML 環境を Kubernetes 上で提供する Kubeflow は、ML ワークフローの展開を「シンプル」「ポータブル」「スケーラブル」にするために開発されています。今回は KubeCon 2018 EU での発表を交えながら、ML 関連の検証プロジェクトで検証中の Kubeflow についてお話します。

Lightning Talk (5 ~ 10 min * 2)

  • 登壇者
    • PrometheusでKubernetesの高速オートスケールを実現した話 by Atsushi Tanaka
    • Update とは何かそして何であるべきか by y_taka_23