カテゴリー
バックエンド

コンテナについて その1

一応エンジニアの職として今のところは働いているのに全く技術について書かないのはこれ如何に?といった感じなのでそろそろ技術に関してもちょろちょろ書いていこうと思います。

今回はみんな大好きなコンテナについてです。
そうOS系が同じならどんなPaaSやSaaS環境でもdockerハブから
docker installやdocker runで簡単に環境を手に入れてしまうアレです。
ちなみに自分はLinuxではpodman、M1 Mac環境ではdocker desktop, podmanを使ってます。

使い方についてここで初心者の自分は説明しませんが使っていて普通に思った疑問がなんで
ディストリビューションが違うLinuxがまるまる?入った環境があんなすぐにインストールできて
自分の環境では何百MBもしくは数GBのイメージで保存できてそっからコンテナ作成して
コマンド叩いたり、コードが走るのって思ったんですけど…

最近知った?もしくは学んだ感じだとどうやらコンテナはイメージレイヤーを採用しているらしいです…
つまりはすでに下の層にあるOSだったり必要なファイルを再利用しているので仮想環境のOSをインストールするのに比べてあんな低容量で済んでいるというらしい。

また、下の層のものを勝手に変更できないようにもなっていて
もし層が違うファイルを読み書きしたければマウントが
必要となります。

マウントの方法には3種類ぐらいあるんだけど
おすすめされるのが
docker volume create name
のように共有用のボリュームを作ってから
docker run -it –rm –mount type=volume,src=name,target=/home/hatena
としてファイルを共有する方法
(Mac端末上ではDockerやpodmanはVM上で動いているので
/var/libとかにvolumeは作られるけどVMに一度アクセスしないと確認できない模様、Linux端末なら普通にアクセスできる)

本日はこのぐらいで〜
(出来れば明日から毎日投稿し続けたい…)

作成者: yuu

エンジニアになり切れない自称哲学者

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です