Dockerがわからないので雑に試す 1
自分のための雑めもnote
環境
ガッツリ開発はしない、手元でちょっと触ってみる程度なのでこれで十分です、私的には。
MacBook Air
M1 2020
チップ Apple M1
メモリ 16GB
macOS sonoma
Docker version 27.0.3, build 7d4bcd8
やったこととかメモ
FirstDocker
1. Dockerのインストール
Docker公式サイトからインスコ
2. Dockerの基本コマンド
主要なコマンド:
docker --version:Dockerのバージョンを確認する。
docker run hello-world:簡単なコンテナを実行して、Dockerが正しく動作することを確認する。
docker ps:現在動作しているコンテナを表示する・
docker images:ローカルに保存されているコンテナイメージを表示する。
docker pull <イメージ名>:Docker Hubから指定したイメージをダウンロードする。
コンテナイメージ?と、はてなが浮かぶがそのまま進む。
3. 自分のアプリケーションをコンテナ化するmkdir docker-app
cd docker-app
echo 'print("Hello, Docker!")' > app.py
print("Hello, Docker!")
# ベースイメージを指定
FROM python:3.8-slim-buster
# 作業ディレクトリを指定
WORKDIR /app
# アプリケーションのファイルをコピー
COPY app.py .
# コンテナ起動時に実行するコマンド
CMD ["python", "app.py"]
Dockerイメージのビルドと実行
docker build -t my-python-app .
docker run my-python-app
上記のツイートや流れのように、Dockerインストールして、雑にターミナルからペチペチやって、ホーン?なるほど全然わからん、と思い、以下のインストールを改めて進めた。
各種インストール、環境構築
GitとVS Codeは元からあったがおさらい的にも再掲。
Docerインストール
iTerm2インストール https://iterm2.com/
iTerm2 セッティング
Gitインストール(Homebrew)https://git-scm.com/download/mac
VSCodeインストール
VSCodeの環境設定
日本語化(してなかった
Dockerインストール
コマンド、シェル、ターミナル
CLI
「ターミナル」→コマンド入力→「シェル」→命令解釈→「Linux」
「ターミナル」←実行結果←「シェル」←実行←「Linux」
ターミナルは画面担当
シェルはLinuxとのやりとり担当 的な
基本コマンド
この辺は大体OKかな、復習としてさらっておく
ls
pwd print working directory https://wa3.i-3-i.info/word11161.html
cd
mkdir
touch
echo
cat
less
mv
rm
基本コマンドを使った一連の流れ 例
ディレクトリの内容を確認する
ls現在のディレクトリのパスを表示する
pwd新しいディレクトリを作成し、その中に移動する
mkdir my_new_directory
cd my_new_directory新しい空のファイルを作成する
touch my_file.txtファイルにメッセージを書き込む
echo "This is a test file." > my_file.txtファイルの内容を表示する
cat my_file.txtファイルの内容をスクロールしながら表示する
less my_file.txt
※qで終了、元のコマンドラインに戻るファイルの名前を変更する
mv my_file.txt renamed_file.txtファイルを削除する
rm renamed_file.txt作成したディレクトリに戻り、作成したディレクトリを削除する
cd ..
rm -r my_new_directory
-r オプション
-r は "recursive" の略で、ディレクトリを再帰的に削除するオプション
-rf オプション
-rf は -r に加えて -f("force" の略)を付けたもので、強制的に削除を行うオプション
-f オプションを付けることで、以下のような状況でも確認メッセージなしで削除を実行します。
ファイルやディレクトリが存在しない場合でもエラーメッセージを表示しない
書き込み保護されたファイルやディレクトリでも確認メッセージなしで削除する
例:
rm -rf my_new_directory
これは my_new_directory ディレクトリとその中のすべての内容を強制的に削除します。
Dockerの話,Dockerを使ってみる
docker run hello-world
でやっていく。続く?
参考
ClaudeやChatGPTで雑に聞いて雑にやるってのも出来てしまうんだよなあ。事前知識が乏しいものについては、ハルシネーションなのか、信憑性があるのかイマイチ判別がつかんな。
とりあえず試す、という場合にはまあいいのかなあ?うーん。