aws ec2 への vim インストール方法

dnf install vim-enhanced

root@ip-172-31-56-20 html]# dnf install vim-enhanced
Last metadata expiration check: 0:49:55 ago on Mon 08 Jun 2020 11:01:08 PM UTC.
Dependencies resolved.
================================================================================
 Package         Arch    Version              Repository                   Size
================================================================================
Installing:
 vim-enhanced    x86_64  2:8.0.1763-13.el8    rhel-8-appstream-rhui-rpms  1.4 M
Installing dependencies:
 gpm-libs        x86_64  1.20.7-15.el8        rhel-8-appstream-rhui-rpms   39 k
 vim-common      x86_64  2:8.0.1763-13.el8    rhel-8-appstream-rhui-rpms  6.3 M
 vim-filesystem  noarch  2:8.0.1763-13.el8    rhel-8-appstream-rhui-rpms   48 k

Transaction Summary
================================================================================
Install  4 Packages

Total download size: 7.8 M
Installed size: 30 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): vim-filesystem-8.0.1763-13.el8.noarch.rp 352 kB/s |  48 kB     00:00
(2/4): vim-enhanced-8.0.1763-13.el8.x86_64.rpm  7.3 MB/s | 1.4 MB     00:00
(3/4): gpm-libs-1.20.7-15.el8.x86_64.rpm        349 kB/s |  39 kB     00:00
(4/4): vim-common-8.0.1763-13.el8.x86_64.rpm     22 MB/s | 6.3 MB     00:00
--------------------------------------------------------------------------------
Total                                            19 MB/s | 7.8 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : gpm-libs-1.20.7-15.el8.x86_64                          1/4
  Running scriptlet: gpm-libs-1.20.7-15.el8.x86_64                          1/4
  Installing       : vim-filesystem-2:8.0.1763-13.el8.noarch                2/4
  Installing       : vim-common-2:8.0.1763-13.el8.x86_64                    3/4
  Installing       : vim-enhanced-2:8.0.1763-13.el8.x86_64                  4/4
  Running scriptlet: vim-enhanced-2:8.0.1763-13.el8.x86_64                  4/4
  Running scriptlet: vim-common-2:8.0.1763-13.el8.x86_64                    4/4
  Verifying        : vim-filesystem-2:8.0.1763-13.el8.noarch                1/4
  Verifying        : vim-common-2:8.0.1763-13.el8.x86_64                    2/4
  Verifying        : vim-enhanced-2:8.0.1763-13.el8.x86_64                  3/4
  Verifying        : gpm-libs-1.20.7-15.el8.x86_64                          4/4

Installed:
  gpm-libs-1.20.7-15.el8.x86_64         vim-common-2:8.0.1763-13.el8.x86_64
  vim-enhanced-2:8.0.1763-13.el8.x86_64 vim-filesystem-2:8.0.1763-13.el8.noarch

Complete!
[root@ip-172-31-56-20 html]# 

dockerメモリ不足 と apache2タイムアウトの対応方法

事象

500のエラー画面で原因がよくつかめない事象となりました

Laravelログは下記が発生

[2021-05-03 00:53:15] local.ERROR: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) {"userId":1,"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalErrorException(code: 1): Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) at /var/www/html/vendor/dompdf/dompdf/src/Css/Style.php:879)
[stacktrace]
#0 {main}
"} 

原因

  • 1つ目の原因は、Laravelログにでておりましたメモリ不足です。
  • 2つ目の原因はapache でのタイムアウトなのでこちらが 500エラーで原因がつかめなくて時間を消費しました

対策

(1) phpinfo.php を作成し、”<?phpphpinfo();?>” をコーディングしました。こちらを表示して調査しました


(2)メモリ不足は、PHP.ini ファイルです。Docker作成済みなので直接vim で追加しました。vimインストールは
apt-get install vim
vim /usr/local/etc/php/php.ini
を行いました。下記変更です


(3)apacheの設定は
vim /etc/apache2/apache2.conf

docker再起動で変更されますのでお確かめください

その他補足

viの使い方は、下記おすすめです

https://blog.codecamp.jp/vim-command

Docker環境なれると、上記はLinux環境設定です

楽ですね。少し前では大変な開発環境ですが、あっさりできるので最近の若い人たちは恵まれてるなーと感じます。

dockerのbuild できなくなった。作成者未記載はできなくなったぞー!

いままでbuild できたのにエラ-になりました

docker Hub の過去の作成者が未記入なものがbuildできなくなっております
その際は設定を変更してください

{
"registry-mirrors": [],
"insecure-registries": [],
"debug": false,
"experimental": false,
"features": {
"buildkit": false
}
}

docker でvim 使いたいですよね

vimとは

ファイルの作成や編集時に用いる、linuxの標準的なコマンド。
linuxで、cuiでのファイル編集時には、まず「vim」を利用することが多いのでの操作は覚える必要があります。
GUIに慣れた人には「iキー」が挿入であったり、編集後の書き込みが「:wq」となっていたり、初めはよくわからないと思いますが慣れれば、苦ではありません。

containerにログイン

・docker container exec -ti コンテナ名 bash

Vimのインストール

OSによってインストール方法が変わる。

・Redhat系

yum install vim

・Debian/Ubuntu系

apt-get update
apt-get install vim

Dockerで不要なコンテナ・イメージの見つけ方

イメージ

$ docker images --filter "dangling=true"

不要なイメージを削除

$ docker image prune

ちなみに、v1.2.5 以前では以下のコマンドで削除していました。

$ docker rmi $(docker images -f "dangling=true" -q)

コンテナ

不要なコンテナ一覧

$ docker ps -f "status=exited"

停止コンテナ一括削除

$ docker container prune

docker 削除(docker-compose.ymlのvolumesセクションに書かれた名前付きボリュームとコンテナにアタッチされたanonymous volumeが削除)

docker-compose down --rmi all --volumes --remove-orphans

downコマンドの特性としては、upコマンドと真逆のことをするコマンドということになる。つまり、upコマンドで作られうるもの(イメージ、コンテナ、ボリューム、ネットワーク)をすべて削除する。やり直しに有効なコマンドなのです

--rmiオプションは、削除するイメージの種類を指定する。allはすべてのイメージ。localはフィールドにカスタムタグのないイメージのみを削除する。--rmiオプションを省略すると、イメージは消されない。

--volumesオプションは、docker-compose.ymlvolumesセクションに書かれた名前付きボリュームとコンテナにアタッチされたanonymous volumeが削除される。

--remove-orphansオプションは、docker-compose.ymlで定義から削除されたサービス用の未定義コンテナも削除される。

Dockerインストール方法(Windows10)

1.環境・前提
・Windows 10 Home 64bit
・Docker version 19.03.8
・docker-compose version 1.25.4

この2020年8月からは HomeでもDockerがCPU仮想化対応できるWSL2が一緒にインストールできるので超簡単になりました。
2.Dockerってなに?【参考資料】
https://tech-lab.sios.jp/archives/19191
Windows10 HomeでDocker環境を導入する
https://qiita.com/zeffy1014/items/dda78f4ab0449989dfe1
Windows 10 Home で WSL 2 + Docker を使う
https://qiita.com/KoKeCross/items/a6365af2594a102a817b
【環境構築手順】
3.CPU仮想化確認
タスクマネージャ→パフォーマンス→CPU にて仮想化: 有効となっていればOKです。
4.docker for desktop-windows ダウンロード
https://hub.docker.com/editions/community/docker-ce-desktop-windows
参考サイト)
5.Docker Desktop Installer.exe を「管理者」で実行
▼インストール開始前に確認される画面(この状態でOKクリック)
インストール終わったらPC再起動
Docker起動
6.Docer起動後に下記ダイアログが表示された場合、ダイアログ内のリンクから
WSL2インストール
(サイト内の「 download the latest WSL2 Linux kernel からダウンロード可」)

WSL2インストール後に再度Docer起動(startクリック、次へ進んでいく)


無事起動

以上がdockerインストール方法でした

次回はいよいよLinexイメージ構築です

・・・・続く・・・・