- やりたいこと
永続化したコンテナで作業を実施し、作業したデータはOS側に保持したくない。
サクッと利用して、サクッと潰す用途です。
ボリュームマウントは実施しない形式になります。
利用する環境
- Windows10
- コマンドプロンプト
- Docker DeskTop
- VSCode
- 拡張機能:Docker
DockerFileを利用する場合
1.作業フォルダに遷移
GUI操作であれば、作成されたフォルダのバーにcmdと入力すると楽です。
2.作業フォルダにDockerFileを用意
ファイル名:Dockerfile
拡張子は不要です。
# Dockerfile
# Ubuntu イメージをベースとする
FROM ubuntu:latest
# 必要なパッケージのインストール
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
&& rm -rf /var/lib/apt/lists/*
# Django のインストール
RUN pip3 install django
Ubuntu内でDjangoが利用できる内容です。
2.以下コマンドでイメージをビルドする
docker build -t 付与したいタグ名 .
ポイント
- -t
イメージにタグ名を付与するオプションです。
- .
使用するDockerFileの階層を指定します。
今回は作業フォルダ内を指定する為、上記となっています。
- 初回ビルドには5~10分程度の時間がかかります。
3.以下コマンドでコンテナを起動する
docker run -itd --name 付与したいコンテナ名 上記で付与したタグ名
ポイント
- -itd ☆複数のオプションを一纏めにしています。
① -i : コンテナの標準入力を開いた状態に保持します。
② -t : 仮想端末を割り当てます。これにより、コンテナ内のシェルなどと対話することが可能になります。
③ -d : コンテナをバックグラウンドで実行し、コンソールから切り離します。
③が一番肝要なオプションです。
- --name
起動させるコンテナに名前を付けるオプションです。
上記を実行することで、ファイルはコンテナ内に保持した上で永続化できます。
Imageが存在する場合
- DockerHubからUbuntuのイメージをダウンロードした前提でのコマンドです。
作業ディレクトリに遷移し、以下コマンドを実行
docker run -itd --name 付与したいコンテナ名 ubuntu
VSCodeからの接続
拡張機能:DockerのCONTAINERSから「Visual Studio Codeからアタッチする」を選択します。
新しいVSCodeが立ち上がり、コンテナ内の要素が表示されます。
◆拡張機能:Docker画面
ポイント
上記コンテナを生成したコマンドは以下です。
docker build -t hogehoge .
docker run -itd --name hoge_cont hogehoge
上画像の文字列と紐づいていることがわかると思います。
◆コンテナ接続画面
矢印で示している部分から接続しているコンテナの情報が確認できます。
上述したDockerfileで、以下環境ができました。
- Ubuntu 22.04.2 LTS
- Python 3.10.12
- django 4.2.7
最後に
Dockerを触るときに最初に混乱するのが、永続化だと思います。
永続化 = バックグラウンド実行というのがピンときづらいですよね。
以上、どなたかのお役に立てれば幸いです。