20210105のMacに関する記事は5件です。

Amazon EC2を起動し、Macのターミナルからssh接続してみる

はじめに

  • Amazon VPCでシンプルなネットワークを構築するの続きです
  • 今回はパブリックサブネットにEC2インスタンスを作成し、sshでアクセスしてみます
    • 本記事ではMacのターミナルからアクセスします
    • Windowsの方はTeraTerm等をお使いください

構造図

  • Publicサブネット(10.1.1.0/24)にdev-web-serverを追加

image.png

手順と設定

1. EC2の起動

  • EC2サービスを開く
  • [左タブ] インスタンス
  • 下記設定でインスタンスを起動

AMI

  • Amazon Linux 2 64ビット(x86) → 次のステップ

インスタンスタイプ

  • t2.micro → 次のステップ

インスタンスの詳細の設定

  • ネットワーク: Develop(10.1.0.0/16)
  • サブネット: public-subnet-1a-dev
  • 自動割り当てパブリックIP: 有効 → 次のステップ

ストレージの追加

  • 特に変更なし → 次のステップ

タグの追加

  • タグの追加
    • キー: Name
    • 値: dev-web-server
  • 次のステップ

セキュリティグループの設定

  • 新しいセキュリティグループ

    • グループ名: web-server
    • 説明: web-server
    • ルールの追加

      • HTTPとHTTPSを追加

        タイプ プロトコル ポート範囲 ソース 説明
        SSH TCP 22 カスタム 0.0.0.0/0
        HTTP TCP 80 カスタム 0.0.0.0/0
        HTTPS TCP 443 カスタム 0.0.0.0/0
        • 確認と作成

起動

  • キーペアの作成
    • 新しいキーペアの作成
    • キーペア名: develop
    • キーペアのダウンロード

2. キーの移動

  • ターミナルを起動
  • develop.pemを保存した場所に移動
    • cd /Downloads/
  • キーを~/.sshに移動
    • mv develop.pem ~/.ssh/
  • カレントディレクトリを~/.sshに移動
    • cd ~/.ssh
    • lsでファイルを確認
  • develop.pemを読み取り専用ファイルにする
    • chmod 400 develop.pem
    • ls -lrのみ有効になっていることを確認
      • -r--------

3. ネットワークACLの設定

  • VPCサービス
  • [左タブ] ネットワークACL
  • ネットワークACLを作成
    • Name: Develop-NACL
    • VPC: Develop
    • 作成
  • Develop-NACLを選択、アクション「サブネットの関連づけを編集」

    • public-subnet-1a-dev
    • private-subnet-1a-dev
    • 変更を保存
  • Develop-NACLを選択、アクション「インバウンドルールを編集」

    • 下記の通り設定する image.png
  • Develop-NACLを選択、アクション「アウトバウンドルールを編集」

    • インバウンドルールと同様の設定にする

4. ssh接続

  • EC2サービス

    • [左タブ] インスタンス
    • 起動したインスタンスを選択
    • 画面下にスクロールし、パブリック IPv4 アドレスを確認、コピー
  • ターミナル

    • ssh -i ~/.ssh/develop.pem ec2-user@[コピーしたIPv4アドレス]
    • Are you sure you want to continue connecting

      • yes
      • __|  __|_  )
        _|  (     /   Amazon Linux 2 AMI
        ___|\___|___|
        https://aws.amazon.com/amazon-linux-2/
        

完了

終わりに

  • EC2インスタンスは無料枠に時間制限があるので、使用しない場合は停止しておきましょう
  • 次回はEC2インスタンスにWebサーバとしての機能を与え、ブラウザでHello,worldを表示してみます
  • 間違いや改善点等ございましたらコメントをいただければ幸いです。

作図ツール

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacのディスクユーティリティでのCD/DVDマスター(cdr)イメージ作成をコマンドラインから実行する

Macで単純なCD/DVDのisoイメージを作成するためには、GUIのディスクユーティリティを使い、「CD/DVDマスター」を作成します。

スクリーンショット 2021-01-07 21.49.14.png
スクリーンショット 2021-01-07 21.51.50.png

これをターミナルから実行し、自動的にイジェクトするワンライナーコマンドこちらです。
diskutilなどでデバイスのマウントポイントを調べておいてください。ここでは外付DVDドライブが/dev/disk3にマウントされていることとします。

terminal
$ hdiutil convert /dev/disk3 -format UDTO -o output.cdr;hdiutil detach /dev/disk3
TOSHIBA_DVD_VOLUME             (Apple_UDF: 0)を読み込み中…
...............................................................................
経過時間:  9m 25.604s
速度: 7.2Mバイト/秒
節約率: 0.0%
created: /tmp/output.cdr
"disk3" ejected.

/dev/disk3に入っているCD/DVDメディアから、UDTOフォーマット(CD/DVDマスター)のイメージを作成し、output.cdrとしてカレントディレクトリに出力したのちに、ディスクをイジェクトします。

通常にGUIを使って吸い出すよりも時間が早い気がします。(気のせいかも。。)

さらにこのイメージ(output.cdr)を同じ光学ドライブを使って焼くコマンドはこちら。
光学ドライブにディスクが入っている状態だとそのまま焼き込みがスタートしますが、入っていないと次のように表示され、ディスクが挿入されるまで待機状態になります。

terminal
$ hdiutil burn -speed max -noverifyburn output.cdr
Please insert a disc:
ディスクに書き込むデータを準備中
セッションを開いています
トラックを開いています
トラックを書き込み中
...............................................................................
トラックを閉じています
...............................................................................
セッションを閉じています
...............................................................................
ディスクの作成を終了中
ディスク作成が完了しました
...............................................................................
hdiutil: burn: completed

output.cdrを速度最大で光学ドライブに入っているメディアに焼き込みます。書き込み内容の検証はスキップし、終わったらディスクがイジェクトされます。

これらを全部つなげて作ったワンライナーがこちら。色々とお遊び機能もつけてるので、あとで解説します

terminal
$ hdiutil convert /dev/disk3 -format UDTO -o output.cdr;hdiutil detach /dev/disk3;say "読み込み完了。DVD-Rを入れてください";hdiutil burn -speed max -noverifyburn output.cdr;rm -f output.cdr;say "焼き込みが完了しました。"

ちょっと見やすくします。

terminal
$ hdiutil convert /dev/disk3 -format UDTO -o output.cdr;
hdiutil detach /dev/disk3;
say "読み込み完了。DVD-Rを入れてください";
hdiutil burn -speed max -noverifyburn output.cdr;
rm -f output.cdr;
say "焼き込みが完了しました。"

コピー元のDVDと焼き込み先のDVD-Rなどを用意しておき、上記のコマンドを叩けばバックアップしたディスクイメージも残さず削除して、メディアの出し入れ操作のみでDVDコピーを完了させることができます!しかもこのワンライナーでは、読み込みが終わったあとと書き込みが終わった後に、sayコマンドで合成音声を再生します。他の作業をしながらのDVDバックアップに最適です。

GUIを使ってのDVDバックアップは、やれクリックだ文字入力だなどとちょいちょい手間でなんとかならんのかコレって思って作りました。これによりめっちゃくちゃDVDバックアップが捗る捗る。1枚あたりだいたい20分程度で完了します。しかも作業するのはコマンド発行のEnterキーとディスク入れ替えの時のみ!最高!

きっと誰かにニーズがある、、、はず!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ARM64(ラズパイ/Mac M1)用のKibanaコンテナイメージを作る

はじめに

KibanaのARM64コンテナイメージがないので自作しているのですが、嬉しい事にARM64のtarball版が提供されるようになっていたので、それを利用してコンテナイメージを作成します。

環境

  • Raspberry Pi 4B (RAM 4GB)

    • RaspiOS 64bit (Buster)
    • podman (dockerでも可)
  • Mac mini 2020 Apple M1 (RAM 16GB)

    • macOS Big Sur 11.1
    • Docker 2.10.1 AppleSilicon Preview7

手順

githubにelasticのdockerfileが公開されているので、cloneしてきます。

# git clone --depth=1 -b 7.10 https://github.com/elastic/dockerfiles
Cloning into 'dockerfiles'...
remote: Enumerating objects: 30, done.
remote: Counting objects: 100% (30/30), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 30 (delta 0), reused 17 (delta 0), pack-reused 0
Unpacking objects: 100% (30/30), done.

DockerfileをARM64に合うよう編集します。

# cd dockerfiles/kibana/
~/dockerfiles/kibana# cp Dockerfile Dockerfile.org
~/dockerfiles/kibana# vi Dockerfile
~/dockerfiles/kibana# diff Dockerfile Dockerfile.org 
16c16
<   curl --retry 8 -s -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.10.1-linux-aarch64.tar.gz && \
---
>   curl --retry 8 -s -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.10.1-linux-x86_64.tar.gz && \
22c22
< RUN tar --strip-components=1 -zxf /opt/kibana-7.10.1-linux-aarch64.tar.gz
---
> RUN tar --strip-components=1 -zxf /opt/kibana-7.10.1-linux-x86_64.tar.gz
43c43
<         fontconfig freetype shadow-utils nss && \
---
>         fontconfig freetype shadow-utils libnss3.so  && \
50,51c50,51
< RUN curl -L -o /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_aarch64
< RUN echo "45b1bbf56cc03edda81e4220535a025bfe3ed6e93562222b9be4471005b3eeb3 /usr/local/bin/dumb-init" | sha256sum -c -
---
> RUN curl -L -o /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64
> RUN echo "37f2c1f0372a45554f1b89924fbb134fc24c3756efaedf11e07f599494e0eff9  /usr/local/bin/dumb-init" | sha256sum -c -

あとはbuildします。多数のファイルをchmodしてたりするので、結構時間がかかります。
あと、もう時代はpodmanです。(dockerでもかまいません)

~/dockerfiles/kibana# podman build -t kibana:7.10.1 .
STEP 1: FROM centos:8 AS builder
STEP 2: RUN cd /opt &&   curl --retry 8 -s -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.10.1-linux-aarch64.tar.gz &&   cd -
/
--> 19830fe514e
STEP 3: RUN mkdir /usr/share/kibana
--> 0a09e9dffcc
STEP 4: WORKDIR /usr/share/kibana
--> 4ef0fa15c55
STEP 5: RUN tar --strip-components=1 -zxf /opt/kibana-7.10.1-linux-aarch64.tar.gz
--> c25c4684458
STEP 6: RUN chmod -R g=u /usr/share/kibana
--> 1dd443d53d0
STEP 7: RUN find /usr/share/kibana -type d -exec chmod g+s {} \;
--> 3ff7718b298
STEP 8: FROM centos:8
STEP 9: EXPOSE 5601
--> 14b28faf60f
STEP 10: RUN for iter in {1..10}; do       yum update --setopt=tsflags=nodocs -y &&       yum install --setopt=tsflags=nodocs -y         fontconfig freetype shadow-utils nss &&       yum clean all && exit_code=0 && break || exit_code=$? && echo "yum error: retry $iter in 10s" &&       sleep 10;     done;     (exit $exit_code)
CentOS Linux 8 - AppStream                      4.7 MB/s | 5.3 MB     00:01    
CentOS Linux 8 - BaseOS                         2.2 MB/s | 1.9 MB     00:00    
CentOS Linux 8 - Extras                         3.3 kB/s | 8.6 kB     00:02    
Last metadata expiration check: 0:00:01 ago on Tue Jan  5 01:43:32 2021.
Dependencies resolved.
Nothing to do.
Complete!
Last metadata expiration check: 0:00:03 ago on Tue Jan  5 01:43:32 2021.
Package shadow-utils-2:4.6-11.el8.aarch64 is already installed.
Dependencies resolved.
================================================================================
 Package                  Arch     Version                     Repository  Size
================================================================================
Installing:
 fontconfig               aarch64  2.13.1-3.el8                baseos     273 k
 freetype                 aarch64  2.9.1-4.el8_3.1             baseos     370 k
 nss                      aarch64  3.53.1-11.el8_2             appstream  682 k
Installing dependencies:
 crypto-policies-scripts  noarch   20200713-1.git51d1222.el8   baseos      67 k
 dejavu-fonts-common      noarch   2.35-6.el8                  baseos      74 k
 dejavu-sans-fonts        noarch   2.35-6.el8                  baseos     1.5 M
 file                     aarch64  5.33-16.el8                 baseos      77 k
 fontpackages-filesystem  noarch   1.44-22.el8                 baseos      16 k
 gettext                  aarch64  0.19.8.1-17.el8             baseos     1.1 M
 gettext-libs             aarch64  0.19.8.1-17.el8             baseos     296 k
 grub2-common             noarch   1:2.02-90.el8               baseos     884 k
 grub2-tools              aarch64  1:2.02-90.el8               baseos     1.8 M
 grub2-tools-minimal      aarch64  1:2.02-90.el8               baseos     194 k
 libcroco                 aarch64  0.6.12-4.el8_2.1            baseos     108 k
 libgomp                  aarch64  8.3.1-5.1.el8               baseos     196 k
 libpng                   aarch64  2:1.6.34-5.el8              baseos     119 k
 nspr                     aarch64  4.25.0-2.el8_2              appstream  135 k
 nss-softokn              aarch64  3.53.1-11.el8_2             appstream  466 k
 nss-softokn-freebl       aarch64  3.53.1-11.el8_2             appstream  263 k
 nss-sysinit              aarch64  3.53.1-11.el8_2             appstream   71 k
 nss-util                 aarch64  3.53.1-11.el8_2             appstream  131 k
 os-prober                aarch64  1.74-6.el8                  baseos      55 k
 which                    aarch64  2.21-12.el8                 baseos      48 k
Installing weak dependencies:
 grubby                   aarch64  8.40-41.el8                 baseos      49 k

Transaction Summary
================================================================================
Install  24 Packages

Total download size: 8.8 M
Installed size: 36 M
Downloading Packages:
(1/24): nspr-4.25.0-2.el8_2.aarch64.rpm         1.4 MB/s | 135 kB     00:00    
(2/24): nss-softokn-freebl-3.53.1-11.el8_2.aarc 3.6 MB/s | 263 kB     00:00    
(3/24): nss-3.53.1-11.el8_2.aarch64.rpm         3.5 MB/s | 682 kB     00:00    
(4/24): nss-sysinit-3.53.1-11.el8_2.aarch64.rpm 2.7 MB/s |  71 kB     00:00    
(5/24): nss-util-3.53.1-11.el8_2.aarch64.rpm    4.9 MB/s | 131 kB     00:00    
(6/24): nss-softokn-3.53.1-11.el8_2.aarch64.rpm 2.0 MB/s | 466 kB     00:00    
(7/24): crypto-policies-scripts-20200713-1.git5 1.2 MB/s |  67 kB     00:00    
(8/24): dejavu-fonts-common-2.35-6.el8.noarch.r 1.5 MB/s |  74 kB     00:00    
(9/24): file-5.33-16.el8.aarch64.rpm            2.2 MB/s |  77 kB     00:00    
(10/24): fontpackages-filesystem-1.44-22.el8.no 939 kB/s |  16 kB     00:00    
(11/24): fontconfig-2.13.1-3.el8.aarch64.rpm    2.9 MB/s | 273 kB     00:00    
(12/24): freetype-2.9.1-4.el8_3.1.aarch64.rpm   3.0 MB/s | 370 kB     00:00    
(13/24): gettext-libs-0.19.8.1-17.el8.aarch64.r 2.8 MB/s | 296 kB     00:00    
(14/24): dejavu-sans-fonts-2.35-6.el8.noarch.rp 4.4 MB/s | 1.5 MB     00:00    
(15/24): gettext-0.19.8.1-17.el8.aarch64.rpm    3.7 MB/s | 1.1 MB     00:00    
(16/24): grub2-tools-minimal-2.02-90.el8.aarch6 2.3 MB/s | 194 kB     00:00    
(17/24): grub2-common-2.02-90.el8.noarch.rpm    4.2 MB/s | 884 kB     00:00    
(18/24): grubby-8.40-41.el8.aarch64.rpm         1.1 MB/s |  49 kB     00:00    
(19/24): libcroco-0.6.12-4.el8_2.1.aarch64.rpm  2.0 MB/s | 108 kB     00:00    
(20/24): libpng-1.6.34-5.el8.aarch64.rpm        2.4 MB/s | 119 kB     00:00    
(21/24): libgomp-8.3.1-5.1.el8.aarch64.rpm      2.5 MB/s | 196 kB     00:00    
(22/24): os-prober-1.74-6.el8.aarch64.rpm       1.9 MB/s |  55 kB     00:00    
(23/24): which-2.21-12.el8.aarch64.rpm          1.3 MB/s |  48 kB     00:00    
(24/24): grub2-tools-2.02-90.el8.aarch64.rpm    5.2 MB/s | 1.8 MB     00:00    
--------------------------------------------------------------------------------
Total                                           4.1 MB/s | 8.8 MB     00:02     
warning: /var/cache/dnf/appstream-37e43cd1a3e4f490/packages/nspr-4.25.0-2.el8_2.aarch64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS Linux 8 - AppStream                      1.2 MB/s | 1.6 kB     00:00    
Importing GPG key 0x8483C65D:
 Userid     : "CentOS (CentOS Official Signing Key) <security@centos.org>"
 Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : nspr-4.25.0-2.el8_2.aarch64                           1/24 
  Running scriptlet: nspr-4.25.0-2.el8_2.aarch64                           1/24 
  Installing       : nss-util-3.53.1-11.el8_2.aarch64                      2/24 
  Installing       : libgomp-8.3.1-5.1.el8.aarch64                         3/24 
  Running scriptlet: libgomp-8.3.1-5.1.el8.aarch64                         3/24 
  Installing       : libcroco-0.6.12-4.el8_2.1.aarch64                     4/24 
  Running scriptlet: libcroco-0.6.12-4.el8_2.1.aarch64                     4/24 
  Installing       : grub2-common-1:2.02-90.el8.noarch                     5/24 
  Installing       : fontpackages-filesystem-1.44-22.el8.noarch            6/24 
  Installing       : dejavu-fonts-common-2.35-6.el8.noarch                 7/24 
  Installing       : dejavu-sans-fonts-2.35-6.el8.noarch                   8/24 
  Installing       : gettext-libs-0.19.8.1-17.el8.aarch64                  9/24 
  Installing       : gettext-0.19.8.1-17.el8.aarch64                      10/24 
  Running scriptlet: gettext-0.19.8.1-17.el8.aarch64                      10/24 
install-info: No such file or directory for /usr/share/info/gettext.info.gz

  Installing       : grub2-tools-minimal-1:2.02-90.el8.aarch64            11/24 
  Installing       : nss-softokn-freebl-3.53.1-11.el8_2.aarch64           12/24 
  Installing       : nss-softokn-3.53.1-11.el8_2.aarch64                  13/24 
  Installing       : which-2.21-12.el8.aarch64                            14/24 
  Installing       : os-prober-1.74-6.el8.aarch64                         15/24 
  Installing       : libpng-2:1.6.34-5.el8.aarch64                        16/24 
  Installing       : freetype-2.9.1-4.el8_3.1.aarch64                     17/24 
  Installing       : file-5.33-16.el8.aarch64                             18/24 
  Running scriptlet: grub2-tools-1:2.02-90.el8.aarch64                    19/24 
  Installing       : grub2-tools-1:2.02-90.el8.aarch64                    19/24 
  Running scriptlet: grub2-tools-1:2.02-90.el8.aarch64                    19/24 
install-info: No such file or directory for /usr/share/info/grub2.info.gz
install-info: No such file or directory for /usr/share/info/grub2-dev.info.gz

  Installing       : grubby-8.40-41.el8.aarch64                           20/24 
  Installing       : crypto-policies-scripts-20200713-1.git51d1222.el8.   21/24 
  Installing       : nss-3.53.1-11.el8_2.aarch64                          22/24 
  Installing       : nss-sysinit-3.53.1-11.el8_2.aarch64                  23/24 
  Installing       : fontconfig-2.13.1-3.el8.aarch64                      24/24 
  Running scriptlet: fontconfig-2.13.1-3.el8.aarch64                      24/24 
  Running scriptlet: crypto-policies-scripts-20200713-1.git51d1222.el8.   24/24 
  Running scriptlet: nss-3.53.1-11.el8_2.aarch64                          24/24 
  Running scriptlet: fontconfig-2.13.1-3.el8.aarch64                      24/24 
  Verifying        : nspr-4.25.0-2.el8_2.aarch64                           1/24 
  Verifying        : nss-3.53.1-11.el8_2.aarch64                           2/24 
  Verifying        : nss-softokn-3.53.1-11.el8_2.aarch64                   3/24 
  Verifying        : nss-softokn-freebl-3.53.1-11.el8_2.aarch64            4/24 
  Verifying        : nss-sysinit-3.53.1-11.el8_2.aarch64                   5/24 
  Verifying        : nss-util-3.53.1-11.el8_2.aarch64                      6/24 
  Verifying        : crypto-policies-scripts-20200713-1.git51d1222.el8.    7/24 
  Verifying        : dejavu-fonts-common-2.35-6.el8.noarch                 8/24 
  Verifying        : dejavu-sans-fonts-2.35-6.el8.noarch                   9/24 
  Verifying        : file-5.33-16.el8.aarch64                             10/24 
  Verifying        : fontconfig-2.13.1-3.el8.aarch64                      11/24 
  Verifying        : fontpackages-filesystem-1.44-22.el8.noarch           12/24 
  Verifying        : freetype-2.9.1-4.el8_3.1.aarch64                     13/24 
  Verifying        : gettext-0.19.8.1-17.el8.aarch64                      14/24 
  Verifying        : gettext-libs-0.19.8.1-17.el8.aarch64                 15/24 
  Verifying        : grub2-common-1:2.02-90.el8.noarch                    16/24 
  Verifying        : grub2-tools-1:2.02-90.el8.aarch64                    17/24 
  Verifying        : grub2-tools-minimal-1:2.02-90.el8.aarch64            18/24 
  Verifying        : grubby-8.40-41.el8.aarch64                           19/24 
  Verifying        : libcroco-0.6.12-4.el8_2.1.aarch64                    20/24 
  Verifying        : libgomp-8.3.1-5.1.el8.aarch64                        21/24 
  Verifying        : libpng-2:1.6.34-5.el8.aarch64                        22/24 
  Verifying        : os-prober-1.74-6.el8.aarch64                         23/24 
  Verifying        : which-2.21-12.el8.aarch64                            24/24 

Installed:
  crypto-policies-scripts-20200713-1.git51d1222.el8.noarch                      
  dejavu-fonts-common-2.35-6.el8.noarch                                         
  dejavu-sans-fonts-2.35-6.el8.noarch                                           
  file-5.33-16.el8.aarch64                                                      
  fontconfig-2.13.1-3.el8.aarch64                                               
  fontpackages-filesystem-1.44-22.el8.noarch                                    
  freetype-2.9.1-4.el8_3.1.aarch64                                              
  gettext-0.19.8.1-17.el8.aarch64                                               
  gettext-libs-0.19.8.1-17.el8.aarch64                                          
  grub2-common-1:2.02-90.el8.noarch                                             
  grub2-tools-1:2.02-90.el8.aarch64                                             
  grub2-tools-minimal-1:2.02-90.el8.aarch64                                     
  grubby-8.40-41.el8.aarch64                                                    
  libcroco-0.6.12-4.el8_2.1.aarch64                                             
  libgomp-8.3.1-5.1.el8.aarch64                                                 
  libpng-2:1.6.34-5.el8.aarch64                                                 
  nspr-4.25.0-2.el8_2.aarch64                                                   
  nss-3.53.1-11.el8_2.aarch64                                                   
  nss-softokn-3.53.1-11.el8_2.aarch64                                           
  nss-softokn-freebl-3.53.1-11.el8_2.aarch64                                    
  nss-sysinit-3.53.1-11.el8_2.aarch64                                           
  nss-util-3.53.1-11.el8_2.aarch64                                              
  os-prober-1.74-6.el8.aarch64                                                  
  which-2.21-12.el8.aarch64                                                     

Complete!
21 files removed
--> f21d1615b18
STEP 11: RUN curl -L -o /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_aarch64
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   647  100   647    0     0   1937      0 --:--:-- --:--:-- --:--:--  1937
100 71256  100 71256    0     0  48838      0  0:00:01  0:00:01 --:--:-- 95645
--> 723e82b056a
STEP 12: RUN echo "45b1bbf56cc03edda81e4220535a025bfe3ed6e93562222b9be4471005b3eeb3 /usr/local/bin/dumb-init" | sha256sum -c -
/usr/local/bin/dumb-init: OK
--> 3febee5eb18
STEP 13: RUN chmod +x /usr/local/bin/dumb-init
--> bc0487b93b5
STEP 14: RUN mkdir /usr/share/fonts/local
--> 4ec111a772d
STEP 15: RUN curl -L -o /usr/share/fonts/local/NotoSansCJK-Regular.ttc https://github.com/googlefonts/noto-cjk/raw/NotoSansV2.001/NotoSansCJK-Regular.ttc
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   159  100   159    0     0    460      0 --:--:-- --:--:-- --:--:--   459
100 19.3M  100 19.3M    0     0  5909k      0  0:00:03  0:00:03 --:--:-- 10.8M
--> a4ef4dfcb8a
STEP 16: RUN echo "5dcd1c336cc9344cb77c03a0cd8982ca8a7dc97d620fd6c9c434e02dcb1ceeb3  /usr/share/fonts/local/NotoSansCJK-Regular.ttc" | sha256sum -c -
/usr/share/fonts/local/NotoSansCJK-Regular.ttc: OK
--> 4b91efb6b5d
STEP 17: RUN fc-cache -v
/usr/share/fonts: skipping, existing cache is valid: 0 fonts, 2 dirs
/usr/share/fonts/dejavu: skipping, existing cache is valid: 9 fonts, 0 dirs
/usr/share/fonts/local: skipping, existing cache is valid: 10 fonts, 0 dirs
/usr/share/X11/fonts/Type1: skipping, no such directory
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/share/fonts/dejavu: skipping, looped directory detected
/usr/share/fonts/local: skipping, looped directory detected
/usr/lib/fontconfig/cache: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
/usr/bin/fc-cache-64: succeeded
--> e799200b93c
STEP 18: COPY --from=builder --chown=1000:0 /usr/share/kibana /usr/share/kibana
--> 95d34b78229
STEP 19: WORKDIR /usr/share/kibana
--> af91a2e64e0
STEP 20: RUN ln -s /usr/share/kibana /opt/kibana
--> ff975005e0f
STEP 21: ENV ELASTIC_CONTAINER true
--> 913ef578b8c
STEP 22: ENV PATH=/usr/share/kibana/bin:$PATH
--> 10f708b5548
STEP 23: COPY --chown=1000:0 config/kibana.yml /usr/share/kibana/config/kibana.yml
--> 3f9ddd395b3
STEP 24: COPY --chown=1000:0 bin/kibana-docker /usr/local/bin/
--> d9a73a2b085
STEP 25: RUN chmod g+ws /usr/share/kibana &&     find /usr/share/kibana -gid 0 -and -not -perm /g+w -exec chmod g+w {} \;
--> d31ea9b1844
STEP 26: RUN find / -xdev -perm -4000 -exec chmod u-s {} +
--> a8808cae581
STEP 27: RUN groupadd --gid 1000 kibana &&     useradd --uid 1000 --gid 1000       --home-dir /usr/share/kibana --no-create-home       kibana
--> f2bc3dd0ed3
STEP 28: LABEL org.label-schema.build-date="2020-12-05T02:04:38.350Z"   org.label-schema.license="Elastic License"   org.label-schema.name="Kibana"   org.label-schema.schema-version="1.0"   org.label-schema.url="https://www.elastic.co/products/kibana"   org.label-schema.usage="https://www.elastic.co/guide/en/kibana/reference/index.html"   org.label-schema.vcs-ref="608c5e5dd32659e8afadd520d0cdc58766ba505b"   org.label-schema.vcs-url="https://github.com/elastic/kibana"   org.label-schema.vendor="Elastic"   org.label-schema.version="7.10.1"   org.opencontainers.image.created="2020-12-05T02:04:38.350Z"   org.opencontainers.image.documentation="https://www.elastic.co/guide/en/kibana/reference/index.html"   org.opencontainers.image.licenses="Elastic License"   org.opencontainers.image.revision="608c5e5dd32659e8afadd520d0cdc58766ba505b"   org.opencontainers.image.source="https://github.com/elastic/kibana"   org.opencontainers.image.title="Kibana"   org.opencontainers.image.url="https://www.elastic.co/products/kibana"   org.opencontainers.image.vendor="Elastic"   org.opencontainers.image.version="7.10.1"
--> 1ce105128f5
STEP 29: USER kibana
--> c59ed1347f4
STEP 30: ENTRYPOINT ["/usr/local/bin/dumb-init", "--"]
--> 954ff1f374b
STEP 31: CMD ["/usr/local/bin/kibana-docker"]
STEP 32: COMMIT kibana:7.10.1
--> 434eac9bb86
434eac9bb866c223f31e7ba8e0ac715249ac18746a09cc6be727381ed04806fe

出来上がりです。

~/dockerfiles/kibana# podman images
REPOSITORY                                 TAG           IMAGE ID      CREATED         SIZE
localhost/kibana                           7.10.1        434eac9bb866  9 minutes ago   1.12 GB

M1搭載のMacでも同じDockerfileでbuildできる事を確認しています。Preview版だからなのか30分以上かかってます。(ラズパイの倍...)

スクリーンショット 2021-01-05 12.50.57.png

使い方

公式マニュアルを参照してください。
https://www.elastic.co/guide/en/kibana/current/docker.html

環境変数でほとんどの設定ができると思います。
環境変数名は、bin/kibana-docker内の「kibana_vars」に書かれてある変数名(kibanaの設定ファイルに定義する変数名)を、全部大文字にして「.」を「_」に変えれば良いようです。

~/dockerfiles/kibana# cat bin/kibana-docker
      :
kibana_vars=(
    console.enabled
    console.proxyConfig
    console.proxyFilter
    ops.cGroupOverrides.cpuPath
    ops.cGroupOverrides.cpuAcctPath
    cpu.cgroup.path.override
    cpuacct.cgroup.path.override
    csp.rules
    csp.strict
    csp.warnLegacyBrowsers
    elasticsearch.customHeaders
    elasticsearch.hosts
    elasticsearch.logQueries
    elasticsearch.password
    elasticsearch.pingTimeout
    elasticsearch.requestHeadersWhitelist
    elasticsearch.requestTimeout
      :

私の環境の例ですが、kubernetesでは以下のようなyamlでデプロイしています。
一応、「NODE_OPTIONS」も設定しています。

# cat kibana.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana
  namespace: elastic
  labels:
    app: kibana
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kibana
  template:
    metadata:
      labels:
        app: kibana
    spec:
      containers:
        - name: kibana
          image: localhost/kibana:7.10.1
          resources:
            requests:
              cpu: 1
              memory: 1Gi
            limits:
              cpu: 1
              memory: 1.5Gi
          env:
          - name: SERVER_HOST
            value: "0.0.0.0"
          - name: I18N_LOCALE
            value: "ja-JP"
          - name: ELASTICSEARCH_URL
            value: "http://elasticsearch:9200"
          - name: ELASTICSEARCH_USERNAME
            value: "kibana"
          - name: ELASTICSEARCH_PASSWORD
            value: "password"
          - name: NODE_OPTIONS
            value: "--max-old-space-size=1024"
          ports:
            - name: kibana
              containerPort: 5601

OSの空きメモリーが「limits.memory」の値で、「Memory Size(GB)」グラフの「Heap size Limit」も「1.0GB」で「NODE_OPTIONS」が効いてると思います。

スクリーンショット 2021-01-05 11.21.22.png

M1 Macでも、ARM64版のelasticsearchと組み合わせて問題なく実行もできます。

スクリーンショット 2021-01-05 13.01.00.png

おわりに

ARM64のコンテナイメージが増えるといいですね。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravelプロジェクトの構築メモ①

*使用するもの*
・Mac OS
・MAMP
・Visual Studio Code
・Laravel6
・phpMyAdmin

Laravelアプリケーションを立ち上げる手順

ターミナル操作

①MAMPのhtdocsに移動(ここでプロジェクトを作成するため)
Applications/MAMP/htdocs

②composerコマンドを使ってLaravelプロジェクトを作成する(今回は6系のものを使用する)(アプリ名はmyappとする)
composer create-project laravel/laravel myapp --prefer-dist "6.0.*"

③htdocsからmyappに移動する
cd myapp

④いくつか権限を変える
chmod -R 777 storage
chmod -R 777 bootstrap/cache

MAMPの設定

①MAMPを立ち上げる

②preferencesの中のServerへ移動し、Document rootを変更する
 Document rootを先ほど作成したアプリの中のpublicフォルダを指定する
Applications/MAMP/htdocs/myapp/public

③MAMPのサーバーを起動する

④ブラウザでlocalhost:8888にアクセスすると、Laravelプロジェクトが表示される

Laravelフォルダの.envファイルの初期設定

①Visual Studio Codeで先ほど作成したmyapp(Laravelプロジェクト)というファイルを開く

②その中の.envファイルを編集する
・アプリ名を変更

APP_NAME=Laravel

・データベース設定
MAMPのトップページの下にMySQLの情報が記載されているから、
その通りにデーターベース設定を行う

DB_CONNECTION=mysql
DB_HOST=localhost ←変更
DB_PORT=8889 ←変更
DB_DATABASE=laravel ←あとで編集する
DB_USERNAME=root
DB_PASSWORD=root ←追加
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock ←追加

文字コードのエラーを防ぐ設定

MySQLのバージョンによって文字コードでエラーが発生する場合がある。

①Laravelフォルダにて、app/Providers/AppServiceProvider.phpへ移動

②use文を追加する

use Illuminate\Support\Facades\Schema;

を追加し、

public function boot()
    {
        Schema::defaultStringLength(191);
    }

細かい設定を行う

Laravelフォルダ内のconfig/app.phpを開く

'timezone' => 'Asia/Tokyo'
'locale' => 'ja'

以上がLaravelアプリケーション作成前準備です。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacBook Air M1の電源が落ちて、その後電源が入らなくなったよ

状況

突如電源が落ちて、その後電源が入らなくなった。

前兆

サードパーティー製のUSBハブを使っていたが、
外部ディスプレイへの出力が出来なくなったので、
USBの抜き差しをしていたら発生…

今思えば

関係あるかわからないが、
開封直後からUSBハブ経由での外部ディスプレイへの出力が出来なかったりしていた。
USBハブの問題かと思っていたのに…

対応方法

サポセンから言われた、
MacBook AirのSMCリセットの方法を試す。
Macの蓋を30秒以上閉じて、再度電源が入るか確認。

※SMCリセットの方法が変わった???

結果

電源入らず修理へ

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む