#author("2024-04-10T13:40:24+09:00","default:irrp","irrp")
#author("2024-04-22T13:37:17+09:00","default:irrp","irrp")
→仮想化技術

→コンテナ型仮想化

#contents



*サブトピック [#faa3bd96]
-DockerとWSL
-Docker環境構築


*一般 [#vcab3ebf]
-[[今あらためてコンテナ界隈を俯瞰する「Docker/Kubernetes コンテナ開発入門」 | DevelopersIO>https://dev.classmethod.jp/articles/docker-kubernetes-second/]] 2024.3

-[[何故Windows上でPythonを動かさず、WSL2+Dockerを使うのか #Python - Qiita>https://qiita.com/NJIMAMTO/items/72db02b6bc0057a88766]] 2024.1

-[[EC2の環境をそのままDockerのイメージにする>https://zenn.dev/k02miu/articles/47fee30610fb45#:~:text=EC2%E3%81%AE%E7%92%B0%E5%A2%83%E3%82%92%E3%81%9D%E3%81%AE%E3%81%BE%E3%81%BEDocker%E3%81%AE%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%AB%E3%81%99%E3%82%8B%201%20%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB%20EC2%E3%81%A7%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8BAmazon%20Linux%E3%81%8C%E5%8F%A4%E9%81%8E%E3%81%8E%E3%81%A6%EF%BC%88%EF%BC%81%20...%202%20%E6%A6%82%E8%A6%81,4%20%E3%81%A9%E3%81%86%E3%81%AA%E3%82%8B%EF%BC%9F%20%E5%85%83%E3%81%AB%E3%81%97%E3%81%9FEC2%E3%81%A8%E3%81%8B%E3%81%A8%E5%90%8C%E3%81%98%E7%92%B0%E5%A2%83%E3%81%A7%E4%B8%8A%E3%81%8C%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8B%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%20...%205%20%E3%81%BB%E3%81%8B%E3%81%AB%E3%81%AF%EF%BC%9F%20ECS%E3%81%AB%E7%A7%BB%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%A8%E3%81%8B%E3%81%AB%E3%82%82%E3%82%82%E3%81%97%E3%81%8B%E3%81%97%E3%81%9F%E3%82%89%E4%BD%BF%E3%81%88%E3%82%8B%E3%81%8B%E3%82%82%EF%BC%9F%20]] 2023.9

-[[Vue/React開発環境をdocker環境で立ち上げてみる。 - Qiita>https://qiita.com/naritomo08/items/f57165958d258b6f5c17]] 2023.4

-[[Dockerが廃止した無料プランの継続を発表 - GIGAZINE>https://gigazine.net/news/20230327-docker-hub-free-team-plan/]] 2023.3

-[[うわっ…私のDockerコンテナ、落ちるの遅すぎ…? - Qiita>https://qiita.com/sun33/items/d62744f5746f6815f3c8]] 2023.2

-[[Docker Composeで、コンテナの起動時に初期処理をしたい - CLOVER🍀>https://kazuhira-r.hatenablog.com/entry/2023/02/19/033845]] 2023.2

-[[Dockerfileを改善して、ビルド時間の短縮をためしてみた|SHIFT Group 技術ブログ|note>https://note.com/shift_tech/n/n792c20c61a38]] 2023.2

-[[Docker イメージ、コンテナ、キャッシュの削除まとめ - Qiita>https://qiita.com/kaiou_fight/items/d68436f374fcd3531cf6]] 2023.1

-[[Docker Composeを使った時に、コンテナ間で名前解決したい - CLOVER🍀>https://kazuhira-r.hatenablog.com/entry/2023/01/25/003948]] 2023.1

-[[【Docker】Pythonで特定のコンテナを起動(run)する方法 - Qiita>https://qiita.com/MOSO1409/items/1e857768d76bbe332c11]] 2023.1

-[[【Docker】コンテナを更新して直接イメージを作成するDocker Commitを紹介 | DevelopersIO>https://dev.classmethod.jp/articles/docker-commit/]] 2023.1

-[[軽量Dockerイメージに安易にAlpineを使うのはやめたほうがいいという話 - inductor's blog>https://blog.inductor.me/entry/alpine-not-recommended]] 2022.12
--libcに一般的な互換性が不足しているからです。Ruby、Python、Node.jsなどでNativeモジュールをバンドルしているアプリケーションの場合、パフォーマンスの劣化や互換性の問題にぶち当たる場合があります。
--Devian slim, Distrolessがおすすめ

-[[dockerのコンテナの中に入る - Qiita>https://qiita.com/Keitaroooo/items/a30bf4eb9310d7b3f7cd]] 2020.4
 docker container exec -it コンテナ名 bash

-[[Docker Container Lifecycle Tutorial | Create, Run, Pause, Stop, Kill - DEV Community>https://dev.to/signoz/docker-container-lifecycle-tutorial-create-run-pause-stop-kill-1l1d]] 2022.7

-[[[AWS]EC2内でDockerコンテナを起動して、ブラウザからアクセスする>https://weseek.co.jp/tech/2196/]] 2022.2

-[[Dockerイメージを最適化するのに役立つ重要な5つのプラクティス - Qiita>https://qiita.com/takiguchi-yu/items/3202f7bf5620f47f9dee]] 2022.2

-[[【初心者】EC2にDockerをインストールしてコンテナをたててみる – TechHarmony>https://blog.usize-tech.com/ec2-docker-basic/]] 2022.2

-[[Docker 公式イメージで手軽に Amazon Linux AMI や Amazon Linux 2 の検証環境をローカルマシンへ手に入れる | DevelopersIO>https://dev.classmethod.jp/articles/get-amazon-linux-official-image-on-localmachine/]] 2022.2

-[[Docker Desktop有償化対策の答えはRancher Desktopだった - Qiita>https://qiita.com/hikaruright/items/d86225453c9590865730]] 2022.2
-[[まるでDocker Desktop!!Rancher Desktopの登場です - Qiita>https://qiita.com/moritalous/items/14d4099023981dcf4fd2]] 2022.2

-[[Dockerイメージを別サーバへ移行する - Qiita>https://qiita.com/latin1/items/5a8feccfba0fd8c4f3a1]] 2020
--imageをtarに保存(Docker save)し、別サーバへコピー(scp)し、読み込む(Docker load)

-[[今使ってるLinuxをDockerイメージ化する - Qiita>https://qiita.com/syo0901/items/a08a801ec296a6c627d5]] 2022.1

-[[Microsoft Learn Docker関連>https://docs.microsoft.com/ja-jp/learn/browse/?terms=Docker]] 2021.11

-[[DockerでWebサーバーを構築する - Qiita>https://qiita.com/m_t_/items/13b969245d049589b86c]] 2021.11

-[[Windows11にアップデートしたらdockerが起動できなくなったときの対処法 - 虹ヶ咲学園セキュリティ同好会>https://www.mari-mari-tonight.com/windows11%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%81%97%E3%81%9F%E3%82%89docker%E3%81%8C%E8%B5%B7%E5%8B%95%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F/]] 2021.10

-[[Dockerでソフトウェア定義型ネットワーキングツール「pipework」を活用する>https://www.itmedia.co.jp/enterprise/articles/1703/17/news073.html]] 2017
--pipeworkによってコンテナに対して固定IPを割り当て可能

-[[あなたもdocker, 私もdocker>https://qiita.com/kaizen_nagoya/items/8f2746f10f30b575d0a8]] 2021.7

-[[「Moby」ベースとなったオープンソース版Dockerの最新状況 | さくらのナレッジ>https://knowledge.sakura.ad.jp/11068/]] 2017


*Windows コンテナ [#z4ff07f3]
-[[Docker でやってみる Windows container | スクエニ ITエンジニア ブログ>https://blog.jp.square-enix.com/iteng-blog/posts/00040-windows-container-with-docker/]] 2023.3
-[[Dockerを使ったWindowsコンテナを動かす方法から実行まで解説! | アンドエンジニア>https://and-engineer.com/articles/YcGZxhYAACUAbPjg]] 2022.4
-[[【ECS・ECR】Dockerコンテナで Windows IIS を動かす - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/Windows_iis_container_2]] 2022.4
-[[Dockerコンテナで Windows IIS を動かす - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/Windows_iis_container]] 2022.3

-DockerとWSL


*Dockerのファイル共有 [#l5c2b908]
-[[Dockerのボリューム>https://zenn.dev/fdnsy/articles/e2024d73ec2bda]] 2023.10

-[[Docker完全に理解した(マウントについて)>https://zenn.dev/randd/articles/84ac7de7f22800]] 2022.2
-[["なんとなく”Dockerのファイル共有について語れるようになる>https://qiita.com/kobori_akira/items/73488918d6fb2a1ae020]] 2021.9
-[[Docker におけるデータ管理 | Docker ドキュメント>https://matsuand.github.io/docs.docker.jp.onthefly/storage/]] 2022


*Dockerのネットワーク [#qd175049]
-[[【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その5:Dockerのネットワークってどうなってるの? 〜 | SIOS Tech. Lab>https://tech-lab.sios.jp/archives/20179]] 2023.12

-[[Mastering the Docker networking - DEV Community>https://dev.to/leandronsp/mastering-the-docker-networking-2h57]] 2022.7

-[[Dockerコンテナでpingコマンドを使いたい【トラブルシュート対応】 | SyachikuLOG>https://syachiku.net/docker-install-ping/]] 2020.5

-[[Docker の基本学習 ~ Docker のネットワーク>https://qiita.com/Arturias/items/b538e6bbf05dd3364397]] 2015.6
--[[Docker コンテナ・ネットワークの理解>http://docs.docker.jp/engine/userguide/networking/dockernetworks.html]] 

-[[Dockerのネットワークを理解する【深く知る】 | SyachikuLOG>https://syachiku.net/docker-network/]] 2022.1
--外部ネットワークからコンテナへアクセスするにはポートをマッピングしてアクセスを許可させる必要がある
--同じBridgeネットワークに接続しているコンテナは互いにアクセス(ping疎通など)できる
--vethというLinuxで使われている仮想NICみたいな技術を利用してコンテナとBridge間が接続されている


*コマンド [#ofeb76cd]
-docker run …Dockerイメージからコンテナの生成と起動を行う。 -it オプションでコンソールに結果を出力
--[[Dockerイメージの理解を目指すチュートリアル - Qiita>https://qiita.com/zembutsu/items/24558f9d0d254e33088f]] 2020.6

-docker images … イメージの一覧を表示

*Docker Compose [#i724bc1e]
-docker compose … 複数のdockerコンテナを定義・実行するツール 
--[[Docker Composeで、構成ファイルを複数使って定義内容を上書きする - CLOVER🍀>https://kazuhira-r.hatenablog.com/entry/2023/01/28/002249]] 2023.1
--[[docker-composeとは?基礎知識と8つのファイル項目を細かく解説! | .NETコラム>https://www.fenet.jp/dotnet/column/tool/3173/#docker-compose%E3%81%A8%E3%81%AF%EF%BC%9F]] 2021.10
--Compose においては YAML ファイルを使ってアプリケーションサービスの設定を行います。コマンドを1つ実行するだけで、設定内容に基づいたアプリケーションサービスの生成、起動を行います。
--[[初めてのdocker-compose - Qiita>https://qiita.com/kitanotamayura/items/39a8a759463790412117]] 2021

-[[雰囲気でDocker Composeを触っている状態から脱するために調べたこと(2023) - Activ8 Tech Blog>https://synamon.hatenablog.com/entry/2023/03/17/125933]] 2024.4
-[[Docker Composeで、コンテナの起動時に初期処理をしたい - CLOVER🍀>https://kazuhira-r.hatenablog.com/entry/2023/02/19/033845]] 2023.2
-[[Docker Composeを使った時に、コンテナ間で名前解決したい - CLOVER🍀>https://kazuhira-r.hatenablog.com/entry/2023/01/25/003948]] 2023.1



*用語 [#e128c2a5]
-docker run …Dockerイメージからコンテナの生成と起動を行う。 -it オプションでコンソールに結果を出力
--[[Dockerイメージの理解を目指すチュートリアル - Qiita>https://qiita.com/zembutsu/items/24558f9d0d254e33088f]] 2020.6

-docker images … イメージの一覧を表示

-イメージ …コンテナの型枠となるテンプレートのようなもの。特定の時点でのスナップショット。イメージには内部的なレイヤーがあり、レイヤーは親子関係を持つ。
-コンテナ …イメージから具体化したインスタンス
-ボリューム… コンテナに外部からマウントして使うストレージ領域
--参考:[[Docker、ボリューム(Volume)について真面目に調べた - Qiita>https://qiita.com/gounx2/items/23b0dc8b8b95cc629f32]] 2019

-タグ…docker hub で指定のイメージ検索するときにバージョンを表す文字列。latestとすると最新版のイメージを取得可能。

-[[Dockerについてなるべくわかりやすく説明する>https://qiita.com/rawHam/items/80ba13d2d2d56dba411e]] 2018.5
--Dockerの用語を冷凍チャーハンに例えて説明します


*入門記事 [#i5b15959]
-[[Docker再入門 ~コンテナ・イメージ編~ - Speaker Deck>https://speakerdeck.com/yoshiyoshiharu/dockerzai-ru-men-kontenaimezibian]] 2024.4
--UnionFS

-[[【永久保存版】0からDockerを勉強するならこのロードマップに従え! #Docker - Qiita>https://qiita.com/Sicut_study/items/a4ba0592142b76223aa0]] 2024.1

-[[今更聞けないDockerのしくみ(「Dockerとは?」から「docker-composeファイルを1人で作れるようになる」まで) #Ruby - Qiita>https://qiita.com/a16111k/items/0e152a096c4934b1a193]] 2023.10

-[[1時間でさわって学ぶDocker>https://zenn.dev/k41531/articles/054a0e30d49f19]] 2023.8

-[[【図解】Dockerの全体像を理解する -前編- - Qiita>https://qiita.com/etaroid/items/b1024c7d200a75b992fc]] 2020.12

-[[で、Dockerコンテナって結局なによ? - Qiita>https://qiita.com/Shinkijigyo_no_Hitsuji/items/2bf11569290f484cfa62]] 2022.7

-[[実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本>https://zenn.dev/suzuki_hoge/books/2022-03-docker-practice-8ae36c33424b59]] 2022.3

-[[【連載】ITの基本から押さえるコンテナ入門 | TECH+>https://news.mynavi.jp/techplus/series/zerocontena/]] 2022.3

-[[初心者が絵で理解する Docker>https://zenn.dev/suzuki_hoge/books/2021-04-docker-picture-60fbe950136be9c7ad85]] 2022.2

-[[入門 Docker>https://y-ohgi.com/introduction-docker/]] 
--DMM.comの社内勉強会に使用された資料の一部を公開したもの

-[[コンテナランタイムはじめの一歩 / Container Runtime 101 - Speaker Deck>https://speakerdeck.com/inductor/container-runtime-101?slide=4]] 2020

-[[【連載】ゼロからはじめるDocker | TECH+>https://news.mynavi.jp/series/docker/]] 2017

-[[超入門Docker - @IT>https://atmarkit.itmedia.co.jp/ait/series/5086/index.html]] 2017

-[[社内勉強会 はじめてのDocker for インフラエンジニア | DevelopersIO>https://dev.classmethod.jp/articles/getting-start-docker-for-platformengineer/]] 2021.11

-[[Docker official Tutorial>http://docs.docker.jp/get-started/get-started.html]] 

-[[いまさらDockerに入門したので分かりやすくまとめます>https://qiita.com/gold-kou/items/44860fbda1a34a001fc1]] 2018.9



*歴史や概念的な説明 [#i00e9acd]
-[[なぜコンテナを導入するのか ~ 各職種への説得材料をまとめる>https://qiita.com/tomoyamachi/items/dca29f53bc7e20ddd8ba]] 2019.12

-[[スタートアップのためのコンテナ入門 – 導入編>https://aws.amazon.com/jp/blogs/startup/techblog-container-introduction/]] 2019.8

-[[Dockerとはどういったものなのか、めちゃくちゃ丁寧に説明してみる>https://qiita.com/sobue-satoshi/items/a612ebbb3a9242c09db5]] 2020.6
--実はコンテナという機能はLinuxOSの機能であり、以前はDockerはLinuxでしか使えませんでした。
--その後macOSやwindowsでもDockerが使えるようにと「Docker Desktop for Mac」や「Docker for Windows」といったソフトウェアが登場します。
--これらは環境がLinuxであるコンテナを実行する際、裏側でハイパーバイザー型の仮想マシン技術を使ってLinux環境の仮想マシンを立ち上げ、その上でアプリケーションを実行しています。

-[[Dockerについて深くまとめてみた - その1 Docker概要編>https://blog.ecbeing.tech/entry/2019/08/02/114014]] 2019.8

-[[Dockerの歴史から紐解く、コンテナ型仮想化の「今まで」と「これから」>https://www.sbbit.jp/article/cont1/34350]] 2018.6



*公式資料 [#w172f400]
-[[Docker ドキュメント日本語化プロジェクト>https://docs.docker.jp/index.html]] 2021.8
-[[Dockerfile リファレンス — Docker-docs-ja 20.10 ドキュメント>https://docs.docker.jp/engine/reference/builder.html]] 2022.1


*VSCodeとDocker [#qdaf0d8e]
-[[チームで開発するならDev Containersで環境構築工程をスキップしませんか? - Qiita>https://qiita.com/nikawamikan/items/74e9a561e2d07feb8566]] 2023.9

-[[VS Code devcontainer で disk が遅すぎるのをなんとかしたい | スクエニ ITエンジニア ブログ>https://blog.jp.square-enix.com/iteng-blog/posts/00013-devcontainer-disk-slow/]] 2023.2

-[[vscode入門 vscode remoteとdockerで開発環境を作る - YouTube>https://www.youtube.com/watch?v=HbMl0H4600Y]] 2019

-.devcontainer.jsonとは
--.devcontainer.json は、Visual Studio Code の Remote - Containers 拡張機能で使用される設定ファイルです。
--このファイルは、開発環境を構築するために使用される Docker イメージを指定し、開発環境に必要な拡張機能や設定を定義します。
--.devcontainer.json ファイルは、開発者がローカル環境ではなく、コンテナ内でアプリケーションを開発、テスト、デバッグできるようにするために使用されます。
--.devcontainer.json には、次のような設定が含まれることがあります:
---Docker イメージの指定
---ホストとのフォルダー共有
---拡張機能のインストール
---環境変数の設定
---コマンドの追加

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS