理想のDockerfileができた

こんにちは。

Dockerが理解できてきました。簡潔に説明すると「 Dockerfile」でOSのコマンドを記入して保存したファイルから「イメージ」を一時的(または編集可能)な「コンテナ」で読み込んで操作する感じなのですね。だから自分好みのイメージさえあればコンテナが使い捨てでも問題ないと言うことですね。

最初の記事の「Docker Debianの自己流初期設定」のように1から作るのは間違いでした。また、「Docke内のPythonからiCloudに接続しようとした話」も結局iCloud上にマウント(直接接続)するので、Pyicloudは必要ありませんでした。(EXIF情報を抜き出すのにPython3のPILモジュールは使います。)

多分、先に進めば進むほど、この記事も間違いだらけになるのでしょうね😅

Dockerfileやdocker-compose.ymlを晒したいところですが、自分好みすぎる構成なので、もっと分かりやすい記事を探していただいた方が良いと思います。

私は

  1. Docker Debianの自己流初期設定」のやり方でコマンド無しのイメージを作る
  2. 自分が作りたいアプリの実行環境を作るまでの手順をメモする
  3. メモ通りにDockerfile等を作ってイメージをビルドしてみる
  4. イメージが正しく動くかdocker runで確認する

手順で作りました。Jekyllを動かすためのポート開けやマウントなど、docker run の記述も呪文のように長くなっています。(その内シェルファイルにします。)下記は一例です。

docker run -p 51238:4000 --rm -w /home/ユーザー名/Jekyll -u "ユーザー名" -it --name="test" -v ./Jekyll:/home/ユーザー名/Jekyll alpine/jekyll:1.0 /bin/bash

コンテナの中の4000ポートをホストの51238ポートと繋げてコンテナから抜けたらコンテナを削除して最初に表示するのは/home/ユーザー名/Jekyllディレクトリでユーザー名で入って、中に入ってコマンドを打てるようにして、コンテナ名はtestにしてホストの「./Jekyllフォルダ」をコンテナの「/home/ユーザー名/Jekyll」にマウントしてalpine/jekyll:1.0というイメージを読み込んでシェルはbashで。というわがままてんこ盛りです。

これから先は、今までの間違いの多さから技術系ぶった記事を書かず、日記系の記事を書くことにします。

読んでいただきありがとうございました。

タイトルとURLをコピーしました
ブログ更新しました✨ / 2026年01月14日 ブログはこちら