忍者ブログ

とりあえずブログ

てきとうにだらだら書いていくと思う

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

docker in docker のやり方

[前置き]
Oracle cloudでVM.Standard.A1.Flex(ARM64 4CPU 24GBメモリ)が
もらえたのでこれを使ってあれこれしてみる

ちなみにクラウド側の容量が不足しているためか、一度止めてしまうと起動できなくなることがあるらしい

二度と止めたくないので、Dockerを利用する。
ちなみにDocker初心者。


[本題]
qemuつかってamd64でdockerを動かしたいけど環境を汚したくなかったので
Dockerでalpine Linuxを入れてその中にDocker環境を入れる

Dockerのインストール
$ sudo yum install docker

alpine Linuxイメージのダウンロード
$ sudo docker pull arm64v8/alpine

コンテナの起動
ここで--privilegedをつけるのが重要 特権モードで起動できるらしい
$ sudo docker run -i -t --privileged --name dind -d arm64v8/alpine

alpine Linuxのコンソールにアクセス
$ sudo docker exec -it dind /bin/sh
※普通はDockerfile使うんだろうけどとりあえずこれで

--- ここからaipine Linuxコンテナ ---
サービス管理とDockerのインストール
# apk add --no-cache openrc
# apk add docker
Docker サービスの起動
# rc-service docker start
+ rc-service docker start
 * Caching service dependencies ...
Service `hwdrivers' needs non existent service `dev'
Service `machine-id' needs non existent service `dev'                                                 [ ok ]
 * /var/log/docker.log: creating file
 * /var/log/docker.log: correcting owner
 * Starting Docker Daemon ...                                                                         [ ok ]
# rc-update add docker
+ rc-update add docker
 * service docker added to runlevel sysinit

# service docker start
+ service docker start
* WARNING: docker has already been started
# service docker status
+ service docker status
* status: started
動作確認
# docker pull arm64v8/alpine
+ docker pull arm64v8/alpine
Using default tag: latest
latest: Pulling from arm64v8/alpine
58ab47519297: Pull complete 
Digest: sha256:53b74ddfc6225e3c8cc84d7985d0f34666e4e8b0b6892a9b2ad1f7516bc21b54
Status: Downloaded newer image for arm64v8/alpine:latest
docker.io/arm64v8/alpine:latest
# docker run -i -t --name hoge_server -d arm64v8/alpine
+ docker run -i -t --name hoge_server -d arm64v8/alpine
9664756e333e1eae40ebbacddf2a48437fe23913eb704c6a2ca1f2c09ef8843a
うん。大丈夫そう

拍手[0回]

PR

Raspberry piでCUIでいろいろしてみる

こないだ買ってきた解像度が低すぎて涙目だったLCDをRaspberry pi zeroにぶっ刺したところ
問題なく動作することが分かったので
CUI何やらできるようにする
やる内容はCUI環境での
・日本語の表示
・日本語の入力
・インターネットブラウザの導入


日本語の導入から
sudo apt-get update
sudo apt-get install jfbterm
これでjfbtermと入力することで日本語の表示が可能になる

次に日本語の入力
sudo apt-get install uim-anthy
のあと
sudo nano /user/share/uim/generic-key-custom.scm
で設定ファイルを編集
中に書いてある
(define-custom 'generic-on-key '("zenkaku-hankaku" " ")
(define-custom 'generic-off-key '("zenkaku-hankaku" " ")
のShiftをControlに変更
(define-custom 'generic-on-key '("zenkaku-hankaku" " ")
(define-custom 'generic-off-key '("zenkaku-hankaku" " ")
あとは
uim-fep
で下側になんか出てきたらShift+Spaceで切り替えができるようになる

で最後にブラウザのインストール
sudo apt-get install lynx
起動は普通に
lynx
で可能

起動したら[g]キーで検索可能例えばgoogle.comと入力すると
検索バーが出るので検索ワードを入力すると検索できる

こんな感じ



メモ: もしクッキー~と出て動かなくなったとき[y]で進む

拍手[0回]

Raspberry Pi用 LCD 買ってきた

Aliexpressにて3.2inch Plug-and-Play LCD for Raspberry Pi V3.1なる液晶を買ってきた

裏面


とりあえずRaspberry pi 2に取り付けてみる


驚きの白さである


とりあえず調べる
公式ページなるものを発見

とりあえずドライバーがいるらしい
落としてくる(直リン

LCD-show-160811.tar.gzをダウンロードしたらRPの適当なとこに保存
で解凍
tar xvf LCD-show-YYMMDD.tar.gz
LCD-showフォルダができるので移動
cd LCD-show/
LCD-hdmiを実行
./LCD-hdmi
・・・ん
なんかエラー出た気がしたけど一瞬で再起動した

念のためsudo付けたけど変わらず
とりあえず進む

さっきのフォルダに移動してLCD32-showを実行
./LCD32-show
そして再び再起動を挟む

お、画面付いた!


思った向きと逆なので(画像は回転後)再びさっきのフォルダに移動して
./LCD32-show 180
じゃああとはGUI気になってるから
startx

あれ? 動かない・・・
※おそらくLite版Rasbianのせい
sudo apt-get install lightdm
とかしてたら動いた

画面表示をしたもののインターネットブラウザがなぜか起動しない(※これも?)

画面が小さすぎてはみ出てるせいで操作できないということが頻発した
とりあえずタッチペンは使えたけどなんというか・・・

まあ320*240だから限界なんかなと思ってGUIはあきらめてCUIだけでいいやとなってしまった

拍手[0回]

Raspberry Pi でWebDavサーバー(SSL)

今回はSSLで通信させたい
前回マウントさせたUSBメモリをdavで表示させる
まず権限の変更
sudo chmod -R 755 /media/mount
sudo chown -R www-data:www-data /media/mount/
次に
cd /etc/apache2
(・∀・)?
できない
Raspbian Liteにapache2入ってなかった
とりあえず入れる
sudo apt-get update
sudo apt-get install apache2
とりあえずWevDavモジュールの起動とか
sudo a2enmod dav
sudo a2enmod dav_fs
もしraspbianで上のコマンドが使えない場合はapache2をインストールしたらモジュールも入る

次はSSLの設定
sudo nano /etc/ssl/openssl.cnf


# This is OK for an SSL server.
# nsCertType                    = server

# This is OK for an SSL server.
  nsCertType                    = server
# Some might want this also
# nsCertType = sslCA, emailCA
# Some might want this also
  nsCertType = sslCA, emailCA
次は証明書保存する場所を作る&移動する
sudo mkdir /usr/local/certs
cd /usr/local/certs
認証局の生成
sudo /usr/lib/ssl/misc/CA.pl -newca
CA certificate filename (or enter to create)
Making CA certificate ...
Generating a 2048 bit RSA private key
..............................................................................................................+++
......................................................+++
writing new private key to './demoCA/private/cakey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tottori
Locality Name (eg, city) []:Tottori
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private_CA
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:satsuki.blog-sim.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
中略
Write out database with 1 new entries
Data Base Updated
※:のあと何も書いてないのは何も入力せずEnter

証明書のシリアルナンバーを生成する
中身に「01」のみを書き込む
sudo nano demoCA/ca-cert.srl
証明書を生成する
今回は期限を10年(3650日)にしておく
sudo openssl x509 -CA ./demoCA/cacert.pem -CAkey ./demoCA/private/cakey.pem -CAserial ./demoCA/ca-cert.srl -req -days 3650 -in server.csr -out server.crt
とりあえずこれで証明書などは完了
再びApache2の設定へ
モジュールとかを起動する
cd /etc/apache2/
sudo a2ensite default-ssl
sudo a2enmod ssl
設定ファイルをいじる
sudo nano /etc/apache2/sites-enabled/default-ssl.conf
SSLCertificateFile
SSLCertificateKeyFile
のパスを先ほどの/usr/local/certs/server.crtと/usr/local/certs/server.key
に変更する

またUSBメモリをWebDavとして登録する
以下のものをdefault-ssl.confの下の方にある</VirtualHost>の上に書き込む
Alias /dav "/media/mount"
<IfModule mod_dav.c>
        DAVMinTimeout 600
        <Location /dav>
                DAV On
                Options None Indexes
                #Allow from all
                Require all granted
        </Location>
</IfModule>
はじめAllow from allと書いていたのだがブラウザで権限がない的なエラーが出てしまった
調べるとapache2のバージョンが新しくなってからRequire all grantedと書くらしいことがわかったので注意


そして最後に
sudo service apache2 restart
にてapache2を再起動して完了

ブラウザにてhttps://"RaspberryPiのIPアドレス"/davにアクセスして
無事動作確認終了

これである程度セキュリティの強い通信ができるようになった
あとはBASIC認証すればいい
けど力尽きたので今回はここまで 追記にてBASIC認証は実装する予定


拍手[2回]

Raspberry Pi でUSBメモリをマウントする

WebDavサーバーを建てたいと思うしかしSDカード内にフォルダを作るのは嫌なので外部メモリにする
とりあえずRaspberry pi zeroにUSBメモリをさして起動
認識しているかを確認するため
lsusb
する(USBに刺さっているのも一覧の表示)
で結果がこれ
Bus 001 Device 007: ID 154b:6545 PNY FD Device
Bus 001 Device 006: ID 0789:0164 Logitec Corp. LAN-W150/U2M Wireless LAN Adapter
Bus 001 Device 005: ID 03eb:3301 Atmel Corp. at43301 4-Port Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
PNY FD Deviceが今回のUSBメモリ
正しく認識しているらしい
じゃあ次は
sudo fdisk -l
平たく言うとディスク一覧
長々と出たあとに
Device     Boot Start      End  Sectors  Size Id Type
/dev/sda1          44 15679439 15679396  7.5G  7 HPFS/NTFS/exFAT
sda1ねおk
じゃあ次はIDの取得
sudo blkid /dev/sda1
/dev/sda1: UUID="42F4E534F4E52ABD" TYPE="ntfs"
このUUIDをメモ
次はマウントする場所を決めてフォルダを作る
自分はここに作ることにする
sudo mkdir /media/mount

でマウント設定として
sudo nano /etc/fstab
で開いて
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
UUID="42F4E534F4E52ABD" /media/mount    ntfs-3g   0       2
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
tmpfs           /tmp            tmpfs   defaults,size=32m,noatime,mode=1777      0       0
tmpfs           /var/tmp        tmpfs   defaults,size=16m,noatime,mode=1777      0       0
こんな感じに書き込み
USBメモリのフォーマットによっては変わったりするので注意
で最後に再起動して
sudo reboot
完了

次はWebdavを動かそうと思う
SSL対応させたい(希望)

拍手[0回]

カウンター

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

リンク

フリーエリア

最新コメント

[10/26 風吹けば名無し]
[07/01 マカオ]
[04/20 ひごディウス]
[04/20 さつき]
[04/20 さつき]

忍者アド

最新トラックバック

プロフィール

HN:
さつき
性別:
男性
自己紹介:
パソコンとかゲームとか好きです

バーコード

ブログ内検索

フリーエリア

Copyright ©  -- とりあえずブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]