物欲に負けて
Pixelbookをebayで購入しました。ちょうどLinuxアプリに対応するというニュースが流れて、よっしゃ!サブの開発マシンにできるやんけ!と思ったからです。ただ、現実はそう甘くな無かった。。。
自分がしたいことを整理してみる
物欲ありきで自分が何をしたいのかを整理していなかったので改めてまとめてみます。
- Docker, Docker Compose を導入して開発を行いたい。(大事!)
- VScodeを使いたい。
結局コレに尽きます。 というわけで、導入レポートを書いていきます。
PixelbookのLinux機能をONに
何はともあれこれです。
Linux(ベータ版)
はご愛嬌ですが、ここのオンにする
のボタンを押してください。
そうするとインストールが始まりますのでしばらく待っててください。 インストールが終わるとターミナルが開いてきます。
Dockerをインストール
ここからはdockerを入れたいと思います。Pixelbook の linuxは Debianなので、公式サイトのdocumentを見ながらDockerとDocker Composerをインストールするわけです。実際コマンドを叩いて行くわけですが、一連の処理を記載したシェルスクリプトを動かします。
docker.sh
#!/bin/sh
sudo apt-get -y update
sudo apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get -y update
sudo apt-get -y install docker-ce=17.03.3~ce-0~debian-stretch
sudo service docker start
sudo usermod -a -G docker $USER
sudo docker run hello-world
Chrome OS 側の設定をする
先程のシェルスクリプトを実行すると最後にエラーになります。そこでChromeOS側の設定をちょっといじります。
- Google Chromeを開く
Ctrl + Alt + t
を押す- ターミナルが出てくるのを確認する
- 以下のようにコマンドを打ち進める
crosh> vmc start termina lxc profile unset default security.syscalls.blacklist lxc profile copy default newprofile lxc profile apply penguin default,newprofile lxc restart penguin
メモ
lxc restart penguin
で動かなくなる可能性があるので、ctl + c
を押してもう一度lxc restart penguin
を叩きます。- 再起動をします
Docker Compose もインストール
ついでと言ってはあれですが インストールしておきます。
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod a+x /usr/local/bin/docker-compose
これで動くはず(と思うけど)
これでPixelbookにインストールできました。お好みのプロジェクトを git clone
なりしてやってみましょう
使ってみて
MacのDockerと比べて動きが不完全な気がします。。。自分が今わかる範囲としては、
- docker imageによってはダウンロードが出来ずエラーになる?
- CentOS7のイメージがどうしてもダウンロードできなかった。。
docker-compose down
でうまくコンテナを消すことができない?- なんか変なエラーがはかれる。。。
という感じでした。Pixelbookにdockerをインストールしてゴリゴリ開発するのはまだ難しそうな印象を感じました。。