銀河の歴史がまた1ページ(日記)

Last Update (2019/12/15 14:33:55)
1997.09.06から数えて counter 番目のアクセスです。

ミラーサイト [www.ceres.dti.ne.jp] [yk.rim.or.jp]

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

ページ内目次


■ 宇宙暦 2019.12.14

http://www.ceres.dti.ne.jp/~george/jdiaryB91201.html#20191214

2019.12.14(土) docker buildx build を使って linux/amd64 と linux/arm/v7 イメージを作ってみる

docker buildx build を使って linux/amd64 と linux/arm/v7 イメージを作ってみる

tag: raspberrypi4, docker, buildx

Docker for Desktop(Windows, Mac OS) には標準でdocker buildxプラグインが入っているけども、 Linux版のdocker-ceには標準ではbuildxプラグインは入っていないので、以下のコマンドでインストールする。

# install docker buildx plugin (Docker 19.03)

export DOCKER_BUILDKIT=1
docker build --platform=local -o . git://github.com/docker/buildx
mkdir -p ~/.docker/cli-plugins
mv buildx ~/.docker/cli-plugins/docker-buildx

これで、docker buildx ls とかの buildx 系サブコマンドpluginが追加される。

上の記事で紹介されているエミュレータ(linuxkit/binfmt:v0.7)(binfmt_misc)を使う方法だと、 Java系のapt installが qemu: Unsupported syscall: 382 とか言われるので、 RaspBerryPi4を活用してみる。

■ docker context の設定

エミュレータを使わない場合、Dockerが動くマシンを2種類用意してdockerコンテキストとして登録する。

docker context create raspi4 --description "raspi4" --docker "host=ssh://pi@raspi4"
docker context create aws3 --description "aws3" --docker "host=ssh://ubuntu@aws3"
export DOCKER_HOST=
unset DOCKER_HOST
docker context ls

docker hostの指定はssh経由。

~/.ssh/config とか ~/.ssh/authorized_keys に色々記載して、 ssh -l pi raspi4 や ssh -l ubuntu aws3 とするだけでssh接続可能にしてある。

環境変数 DOCKER_HOST の方が docker context 指定よりも強いので、内容を空にしておく。

■ docker builder の設定

上で定義した2台のマシンをmybuilderとして登録する。

docker buildx create          --name mybuilder aws3
docker buildx create --append --name mybuilder raspi4
docker buildx use mybuilder
docker buildx ls
docker buildx inspect
docker buildx inspect --bootstrap
docker buildx ls

inspect --bootstrap とやると、各マシンで buildkit daemon (daemon or container or Kubernetes Pod ?) が起動する。

こんな感じでmybuilderは色々なPLATFORMSを作れる具合に仕上がる。

$ docker buildx ls
NAME/NODE    DRIVER/ENDPOINT  STATUS  PLATFORMS
mybuilder *  docker-container
  mybuilder0 aws3             running linux/amd64, linux/386
  mybuilder1 raspi4           running linux/arm/v7, linux/arm/v6
aws3         docker
  aws3       aws3             running linux/amd64, linux/386
raspi4       docker
  raspi4     raspi4           running linux/arm/v7, linux/arm/v6
default      docker
  default    default          running linux/amd64, linux/386
$

これで準備OK。

docker buildx build -t username/hogehoge:latest  --platform=linux/amd64,linux/arm/v7  --push .

とやれば、2種類のアーキテクチャ用のdocker imageができる。

現状では、複数種類のアーキテクチャをサポートするdockerコンテナイメージは buildx build 時点で docker registry に push するしか無いらしい。

(各マシンの buildkit は自分のアーキテクチャのイメージしか持って無いから仕方ない。統合はregistry上で行われているのだろう。)

registry上のイメージの確認。 Platformが複数表示される。

docker buildx imagetools inspect username/imagename:imagetag

GitHub連携とかで自動ビルドするとx86_64のみイメージが後から上書きされるので、自動ビルドはオフにしておく。

登録したmybuilderだが、マシンrebootとかがあるとstop状態になるので、使い終わったら消しておくのが良いのかな。

docker buildx rm mybuilder

感想。

さすがにラズパイ4側が遅くてビルドに10分近くかかるのが難点w

あと、ラズパイ側がbroken pipeエラーでちょいちょい失敗するので、原因探らないと。


■ 宇宙暦 2019.12.13

http://www.ceres.dti.ne.jp/~george/jdiaryB91201.html#20191213

2019.12.13(金) VirtualBox 6.1 出た

VirtualBox 6.1 出た

tag: virtualbox, vagrant

vagrant up したら悲しいメッセージが;;

vagrantは VirtualBox 6.0 しか知らんとな。

Oracle VM VirtualBox マネージャーからVMを起動してとりあえずssh接続でログインできたからまぁいいけど。

$ vagrant up
The provider 'virtualbox' that was requested to back the machine
'node3' is reporting that it isn't usable on this system. The
reason is shown below:

Vagrant has detected that you have a version of VirtualBox installed
that is not supported by this version of Vagrant. Please install one of
the supported versions listed below to use Vagrant:

4.0, 4.1, 4.2, 4.3, 5.0, 5.1, 5.2, 6.0

A Vagrant update may also be available that adds support for the version
you specified. Please check www.vagrantup.com/downloads.html to download
the latest version.
$

2019.12.13(金) raspbian GNOME keyring

raspbian GNOME keyring

tag: raspberrypi4, gnome-keyring

Raspbian OS の docker login は、GNOME keyring service を利用しているようだ。

ssh端末接続している時に docker login すると、ラズパイのGUI画面側にキーリングのロック解除画面が表示される...動作としては正しいけど....これはとても微妙...。

keyringのパスワードを空にすれば、いちいち聞いてこなくなる模様。(その代わり、パスワードは平文保存になるけど)

変更方法

seahorseというGNOME Keyring GUIから管理するソフトをインストール。

sudo apt install -y seahorse

インストールすると、GNOME Desktopのメニュー→アクセサリ→パスワードと鍵というメニューが増えているので、これを選択。

defaultキーリングの上で右クリックして、パスワードの変更を選択。パスワードの内容を空に変更する。


■ 宇宙暦 2019.12.08

http://www.ceres.dti.ne.jp/~george/jdiaryB91201.html#20191208

2019.12.08(日) ラズパイ4用のdocker image(linux/arm/v7対応)

ラズパイ4用のdocker image(linux/arm/v7対応)

tag: raspberrypi4

ラズパイOS(Raspbian)は過去との互換性を保つためarmの32bitのlittle endian。

Docker Hub とか Git Lab に任せてdockerイメージビルドしてると、x86-64用のバイナリになってしまう。

linux/arm/v7 用のdocker imageを作るには、ローカルマシン(RaspBerryPi4)でビルドしてdocker pushすることになるのかな。

オレwikiはopenjdk11/tomcat9が動けばいいので、FROMをdebianにしてopenjdk11/tomcat9をapt install と書いておくと Dockerfile は x86-64 と linux/arm/v7 で同じもので 両アーキテクチャ対応ができる、はず。

Docker社も異なるアーキテクチャをサポートすると宣言しているが、Docker 19.03.5 だとまだcross docker build はベータ版のようだ。

ちなみに、jupyter/minimal-notebook は linux/arm/v7 版が あり ( 無かった ) 、RaspBerryPi4からdocker pull できる。

p.s.

ラズパイ4からpullできるんだけど、x86_64バイナリが落ちてくるということが判明したw


■ 宇宙暦 2019.12.07

http://www.ceres.dti.ne.jp/~george/jdiaryB91201.html#20191207

2019.12.07(土) 128GB micro SD card 到着

128GB micro SD card 到着。 Transcend microSDカード 128GB UHS-I U3 Class10 Nintendo Switch 動作確認済 5年保証 TS128GUSD300S-AE【Amazon.co.jp限定】 のヤツ。

tag: raspberrypi4

郵便受けに放り込まれてたwww自宅で待ってても来ないわけだwww待ちぼうけしてたわwww

micro SD card だと郵便ポストに余裕で入るサイズだからなぁ...。

さて、フォーマット。

32GBを超えるサイズのmicro SD cardを使う場合は、SD規格に従えばexFATにしないといけないのだが、現在のNOOBSのbootloaderはFAT16かFAT32しか対応してないので、FAT32で大容量SD cardをフォーマットできる特別なフォーマットツールを使え、という話のようだ。

公式で紹介しているツールは以下。

FAT32 Format ( guiformat.exe ) を実行すると、

Failed to open device
GetLastError()=32
プロセスはファイルにアクセスできません。別のプロセスが使用中です。

というエラーになってフォーマット開始できない。

エクスプローラを含め、他のウィンドウを全部終了して、Windowsキー + R で guiformat.exe を直接指定して実行するとフォーマット開始できた。

フォーマットには大体1.1時間くらいかかるかな。

...。

jdiaryB91201format.jpg 59,791bytes

フォーマットが終わったら、NOOBSのzipをフォーマットしたmicro SD cardのルートディレクトリに展開してコピーする。ここは公式手順を参照。

パーティションをRaspBerryPi用にリサイズしたりするのはNOOBS側がやってくれる模様。

pi@raspi4:~ $ sudo fdisk -l

Disk /dev/mmcblk0: 112.8 GiB, 121068584960 bytes, 236462080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000622ef

Device         Boot   Start       End   Sectors   Size Id Type
/dev/mmcblk0p1        32768   5017578   4984811   2.4G  e W95 FAT16 (LBA)
/dev/mmcblk0p2      5017579 236462079 231444501 110.4G  5 Extended
/dev/mmcblk0p5      5021696   5087229     65534    32M 83 Linux
/dev/mmcblk0p6      5087232   5611517    524286   256M  c W95 FAT32 (LBA)
/dev/mmcblk0p7      5611520 236462079 230850560 110.1G 83 Linux
pi@raspi4:~ $

ディスクの書き込みがやたら高速になったな...。前の16GBのヤツがダメなのか。

これならおうちサーバいける予感。


■ 宇宙暦 2019.12.06

http://www.ceres.dti.ne.jp/~george/jdiaryB91201.html#20191206

2019.12.06(金) ラズパイ4、空きディスク容量が2.5GBになる

ラズパイ4、空きディスク容量が2.5GBになる

tag: raspberrypi4

dockerとか入れて遊んでたらディスクがマッハでなくなった。

やはり16GB micro SDじゃダメか。

ちなみに、千石電商のスターターキットのパーティション構成は以下だった。

root@raspi4:/boot#  fdisk -l
Disk /dev/mmcblk0: 14.4 GiB, 15502147584 bytes, 30277632 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0006f568

Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1         8192  5017578  5009387  2.4G  e W95 FAT16 (LBA
/dev/mmcblk0p2      5017579 30277631 25260053   12G  5 Extended
/dev/mmcblk0p5      5021696  5087229    65534   32M 83 Linux
/dev/mmcblk0p6      5087232  5611517   524286  256M  c W95 FAT32 (LBA
/dev/mmcblk0p7      5611520 30277631 24666112 11.8G 83 Linux
root@raspi4:/boot#

そんなわけで、128GB micro SD (1999円)をポチった。

順番が前後した気がするが、フォーマットとOSインストールから始めよう。


■ 宇宙暦 2019.12.01

http://www.ceres.dti.ne.jp/~george/jdiaryB91201.html#20191201

2019.12.01(日) アマゾンからモバイルディスプレイ到着。

tag: raspberrypi4

アマゾンからモバイルディスプレイ到着。

いやー。15インチはデカイわw 一定の存在感はある。フォトフレームとは比較にならない。iPad Pro 10.5インチとも比較にならない。

(そりゃ固定ディスプレイよりは小さいけども。)

飛行機手荷物持ち込み可能トランク(30リットルくらい)の中に余裕で入るサイズではあるから、ギリギリモバイルと言える。たぶん。

でもコレだと持ち歩くならやっぱり屋内の部屋の間かなー。

ホテルまで21インチモニタを担いで行っているというPC Watchのライターの人マジ尊敬。

ちと電源を入れてみたが、「(映像)信号が入力されていません」という表示。

というわけで、ウチのRasberry Pi 4 Model B はのっけから暗礁に乗り上げましたww

2019.12.01(日) Rasberry Pi 4 画面が真っ黒な場合の対処

Rasberry Pi 4 画面が真っ黒な場合の対処

tag: raspberrypi4

ケースが合ってない場合、電源ラインの USB Type-C とか、micro HDMI の差し込みが甘くなるので。 とりあえず裸で使う。

RECOVERY : 画面が真黒の場合には、EEPROMが壊れているかもしれない。 これを確認するには、RasPi4からMicro SDカードを抜いて、電源供給用のUSB Type-Cだけ接続する。 緑のLEDが点滅しない場合には、EEPROMを再プログラムする必要がある。

EEPROMを再プログラムするには、上のダウンロードからbootloaderのzipをダウンロードする。 FATフォーマットしたMicro SDにZIPファイルを置いてMicro SDをRasPiに装着。 Rasberry Pi 4 の電源を入れて緑のLEDが高速で点滅するのを待つ。

ウチの場合は、どっちが効いたのかよくわからんけど、ここまで試した時点でNOOBSのインストール画面表示が出るようになった。

千石電商のスターターキットの場合、16GBのmicro SDの中にはNOOBSが展開済みで入っているので、そのままインストールを実施。

p.s.

自分でインストールメディアを作る場合は以下。 12/01現在、sdcard.orgはwebサイトが消滅していて、Windows用のフォーマッタ(SDCardFormatterv5_WinEN.zip)が手に入らない。 web archiveを取っていた人がいたらしく、そこからダウンロードする。

NOOBSのダウンロード元は以下。2.45GBくらい。


■ 宇宙暦 2019.11.30

http://www.ceres.dti.ne.jp/~george/jdiaryB91101.html#20191130

2019.11.30(土) Rasberry Pi 4

Rasberry Pi 4

tag: raspberrypi4

RS(アールエスコンポーネンツ株式会社)は元々は電子部品の販売屋さんらしい。 日本ではRasberryPiの正規代理店で日本の技適通したのもここらしい。

個人向け小売りじゃなくてガチなので、最小購入数が96個からになってる項目(専用ケース)もあるので注意ww 1個売りのヤツもあるんだけど。

OSはRaspbian。Debian の Busterベースらしい。他にも色々インストールはできる模様。

んで、上のRSサイトでポチってみたんだけど、「エラーが発生しました。入力した内容を今一度ご確認ください」と表示されて進まなくなった。 どこが悪いんだか全くわからんww

やはり秋葉原の千石電商あたりで個人向け小売りを買うしかないようだ。

2019.11.30(土) Raspberry Pi 4 Model B 購入

Raspberry Pi 4 Model B 購入

tag: raspberrypi4

秋葉原の千石電商に行って買ってきたw

激安スターターキット(11000円)とかいうのが売られてたので適当にソレを選択。

ラズパイ4専用ヒートシンク、小型ディスプレイは売り切れてた。

ラズパイ売り場にはラズパイ用の謎のカメラ(5070円)とか、 RTC(時計部品。RasPiはRTCを内蔵してない。OS起動後ネットにつないで現在時刻を初期化する)とか、 変な拡張部品が並んでて楽しそうではあるww (使う用途は無いけどカメラ購入w)

しばらく千石電商に通い詰めるか。

さて、接続先のディスプレイが無いのが困ったゾ。

Amazonで検索すると15インチのIO-DATAのモバイルディスプレイ(LCD-MF161XP)(28,818円)がヒットしたのでポチっておく。

モバイルディスプレイと言うと、PC Watchの変な記者(21インチモニタを取材先のホテルまで持ち歩いている強者)を思い浮かべるけど、 この手のサブディスプレイは時と場合によっては便利かもしれん。

本当はiPadにHDMI入力があれば神のアイテムになるんだけどなー。さすがに一般的じゃないか...。 (ソフト的にiPadをPCとかMacのサブディスプレイにするアプリはあった気がする)

2019.11.30(土) 変な折り畳みキーボード(3E NEO)購入

アキバヨドバシで変なキーボード(3E NEO)購入。6900円。

3E NEO。 Bluetooth接続の観音開き3つ折りキーボード。英語配列。 (機種によってはUSB有線接続キーボードにもなるらしいが、まだ試してない。)

本体がアルミ製で剛性が高い。開け閉めした時の感触が良いねコレ。

ここまでは変なキーボードではないんだけど。

なぜかウルトラマンとコラボしてて、 キーボードの前面(スペースバーやEnter, Shift)にウルトラマンとか書いてあるタイプも売られていた。 一体誰が買うのか...。

なお、これ系統のバリエーションには、ウルトラセブンとか科学特捜隊とかウルトラ警備隊とかあって気絶しそうになったwww

本気でワケがわからねぇwww


■ 宇宙暦 2019.11.23

http://www.ceres.dti.ne.jp/~george/jdiaryB91101.html#20191123

2019.11.23(土) 分散合意アルゴリズム Raft

分散合意アルゴリズム Raft

tag: raft

Raftの考え方について。

Redis, etcd, Consul, Influxdb など、最近のKVS, RDBは、クラスタを組む時に3ノード必要と書いてあるものが多いが、 内部的には Raftの考え方で実装しているからだろう。

裏取り

mariadbを除いて、Raft Algolitmの文字が見えるので、最近の分散型KVSとかDBはRaftベースで作られているようだ。

mariadbとかmysqlとかmongodbとか、昔からあるKV/RDBは独自にミラーリングとかクラスタリングを実装してる感じやね。


■ 宇宙暦 2019.11.16

http://www.ceres.dti.ne.jp/~george/jdiaryB91101.html#20191116

2019.11.16(土) amazon lightsail (VPS) のOS選択増えてた

ちと遊び用にインスタンス建てようと思って作成してみたらamazon lightsail (VPS) のOS選択増えてた

jdiaryB91101_image.png 99,704bytes

FreeBSD 12 とかもあるのね。

2019.11.16(土) helm 3.0 , Gradle 6.0 まとめて来たww

helm 3.0 , Gradle 6.0 まとめて来たww

オレwikiのコンパイル事情がマッハでピンチぁぁぁ

Gradle 6だと、grettyによるTomcat Webアプリの自動起動ができなくて面倒くさくなった...。

回避方法が出てこないので、Gradleでビルドだけして、Dockerでtomcat上げてwarファイルをコピーするとか意味わからんことをしている。

helm 3.0はtillerサーバが無くなって純粋なコマンドラインツールになった。このツールの場合はそっちの方が良いと思う。 細かいコマンドラインオプションがちょっと違うので、ちまちま対応。


■ 宇宙暦 2019.11.08

http://www.ceres.dti.ne.jp/~george/jdiaryB91101.html#20191108

2019.11.08(金) mobaXterm というのが凄いらしい

mobaXterm というのが凄いらしい

ssh端末ソフトに X Window System サーバ機能が合体した mobaXterm というものがあるらしい。

各地で好評な様子なので、後でインストールしてみよう。


old day diaries...


日記ファイルリスト最新100件


Copyright(c) 1996-2019 George(小濱 純). All rights reserved.
私の作成したページへのリンクはご自由にどうぞ。
このページに間違いや要望などがありましたら george@yk.rim.or.jp まで御連絡ください。
メール本文に 6020-5440-3372 と書いて頂くと、ウチのSPAMフィルタを通過できます(2009-06-14から2019-12-31まで)。

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

home: <george@yk.rim.or.jp> or <george@ceres.dti.ne.jp>
(I am using white list SPAM filter. To avoid it, please write 6020-5440-3372 in mail body. This key word is valid since 2009-06-14 until 2015-12-31.)