Skip to content

Instantly share code, notes, and snippets.

@yamacraft
Last active February 15, 2018 05:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yamacraft/8135ddf016e8e8b1bb671238863aecb1 to your computer and use it in GitHub Desktop.
Save yamacraft/8135ddf016e8e8b1bb671238863aecb1 to your computer and use it in GitHub Desktop.
Raspberry Pi3にRaspbianを入れてDockerを動かすまで

Raspberry Pi3にRaspbianを入れてDockerを動かすまで

数々の記事を参考にしています。

Raspbianのインストール

イメージのダウンロード

Download Raspbian for Raspberry Pi

イメージをSDカードに焼き込む for Mac

$ diskutil list を実行し、書き込むSDカードのアドレスを確認する。

次に書き込むSDカードをdiskutilでアンマウントし、書き込みを実行

$ sudo diskutil umount /dev/disk3
$ sudo diskutil unmountdisk /dev/disk3 #上のコマンドが失敗したらこっちで
$ sudo dd bs=1m if=2017-09-07-raspbian-stretch.img of=/dev/rdisk3 conv=sync

完了したらSDカードをRaspberry Pi3本体に差し込んで起動する

Raspberry Piの初期設定周り

SSHの設定

起動したらコンソール画面を開き、SSHが使えるようにする。

$ sudo raspi-config
# 5 > P2 SSH > YES でEnable

ちなみにログイン時は $ ssh pi@ipアドレス

パスワードの変更

初期パスワードは raspberry になっている

$ sudo passwd pi
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

IPアドレスの固定

起動したらSSH

$ sudo vi /etc/dhcpcd.conf
interface eth0
static ip_address=192.168.0.11/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Docker環境の整備

Dockerのインストール

curlで入れる

$ curl -sSL https://get.docker.com/ | sh
$ docker version
Client:
 Version:      17.11.0-ce
 API version:  1.34
 Go version:   go1.8.3
 Git commit:   1caf76c
 Built:        Mon Nov 20 19:01:07 2017
 OS/Arch:      linux/arm
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.34/version: dial unix /var/run/docker.sock: connect: permission denied

Docker composeのインストール

これがとても時間がかかる…

$ git clone -b release https://github.com/docker/compose.git
$ cd compose

# ここが死ぬほど時間がかかるので注意(30min以上かかった)
$ sudo docker build -t docker-compose:armhf -f Dockerfile.armhf .

$ sudo docker run --rm --entrypoint="script/build/linux-entrypoint" -v $(pwd)/dist:/code/dist -v $(pwd)/.git:/code/.git "docker-compose:armhf"
$ sudo cp dist/docker-compose-Linux-armv7l /usr/local/bin/docker-compose
$ sudo chown root:root /usr/local/bin/docker-compose
$ sudo chmod 755 /usr/local/bin/docker-compose
$ docker-compose version
docker-compose version 1.17.1, build a9597d7
docker-py version: 2.5.1
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016

以上です…

おまけ

Raspberry pi3のエディタをvimに変更する

はじめに現在入っているvimをチェックする

$ dpkg -l | grep vi
ii  vim-common                            2:8.0.0197-4                       all          Vi IMproved - Common files
ii  vim-tiny                              2:8.0.0197-4                       armhf        Vi IMproved - enhanced vi editor - compact version

たぶん上記の用にcommonとtiny版が入っているので削除しつつ、vimを設定する

$ sudo apt-get --purge remove vim-common vim-tiny
$ sudo apt-get install vim

avahiでホスト名を用意する

ホスト名を設定する、アクセスが ホスト名.local になる

$ sudo vi /etc/hostname

あとは必要なdaemmonをインストールして自動起動を設定

$ sudo apt-get install avahi-daemon libnss-mdns
$ sudo vi /etc/avahi/services/ssh.service
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>
  <name replace-wildcards="yes">%h</name>

  <service>
    <type>_ssh._tcp</type>
    <port>22</port>
  </service>
</service-group>

$ sudo /etc/init.d/avahi-daemon restart

Portainerのインストールと絶対起動させる設定

毎回sshするのも面倒なので、Portainer使ってあるていど楽にdocker管理させる

$ docker run -d -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer

これで http://ホスト名.local:9000/ でPortainerにアクセスできるようになる。

@yamacraft
Copy link
Author

mDNS設定も試してあとで追記する
Raspberry Pi(Raspbian)にmDNSを設定する - ぱせらんメモ

@yamacraft
Copy link
Author

↑追記した

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment