はじめに
幾つかの環境に対して、実験的なことしたいので、はやり??(だいぶ遅いですが)のDockerを勉強して使いこなすまでの過程を日記的に書けたらと思います。
いろいろ躓いたところなどを残して、解決方法等を共有できたらと思います。
記事は勉強が進み次第更新していきたいです、、、
環境
OS : Windows11
メモリ : 16GB
目次
1. インストール
2. Dockerを実行してみた
3. コンテナの作り方
(new)4. Dockerfileの作成からコンテナのbuildまで('23/07/23更新)
4-1. Dockerfileの作成
4-1-1. Dockerfileとは
4-1-2. Dockerfileの書式
4-2. Dockerfileからimageの作成
4-3. imageからcontainerの作成
1. インストール
公式サイト
インストール手順
まずは、公式サイトからインストールを行います。 インストールしたファイルを実行すると以下のような画面が立ちあがります。
このままOKでインストールが始まりす。
・Use WSL2 instead of Hyper-V(reccoomend)
(日訳) WSL2をHyper-Vの代わりに使う(推奨)
・Add shortcut to desktop
(日訳) デスクトップにショートカットを作成する
その後、なんやかんやインストールが実行されて、終了したらrestartボタンが表示されるので、押して再起動を行います。
再起動が完了したらデスクトップにDocekrのショートカットが作成されているのと
エクスプローラの左のタブの下にLinuxが追加されているはず、、
2. Dockerを実行してみた
一旦Dockerを立ち上げてみましたが、うーん どうしたらよいものか、、、
(解) wslカーネルが入っていないとどうやらダメ見たいです。
以下のページからx64 マシン用 WSL2 Linux カーネル更新プログラム パッケージをクリックしてインストール
カーネルを入れてみて立ち上げなおしたら以下のような画面になりました
3. コンテナの作り方
Docker起動時に表示されるWhat is a containerから始めたほうが効率的かもですが今回は違った方法でDockerの使い方を解読していこうと思います
コマンドから見るContainerの作り方
コマンド | 説明 | 日本語訳 |
---|---|---|
run | Create and run a new container from an image | 新しいコンテナをイメージから作成・実行する |
build | Build an image from a Dockerfile | イメージをDockerfileから作成する |
【コンテナ作成までの手順】
1.Dockerファイルの作成 -> 2. DockerファイルからImageの作成 -> 3. Imageファイルかcontainerを作成
4. Dockerfileの作成からコンテナのbuildまで
「3.コンテナの作り方」で解説したように、コンテナを作成するには、
- Dockerfileの作成
- Dockerfileからimageの作成
- imageからcontainerの作成
4-1. Dockerfileの作成
4-1-1. Dockerfileとは
Dockerファイルとはコンテナを作成するために必要なイメージを自動的に作成するもの。
どのようなイメージを作成するかを記述するテキストファイル
4-1-2. Dockerfileの書式
Dockerfileは原則FROM
関数から始めます。
例外としてFROM関数に必要な引数としてARG
関数をFROM
の前に記述できます
# 命令 引数
# FROM関数:ベースとなるイメージを指定
FROM ubunts
#FROM scratch
FROM関数の引数に指定できるイメージは適切なものであればなんでもよいみたいです。
Docker Official Imagesにあるイメージを使うと簡単に始められるようです
命令 | 概要 |
---|---|
FROM | image構築時に元となるイメージ(親イメージ)を指定する。 引数として scratch を指定すると親イメージを持たないベースイメージを作成することが出来る |
4-2. Dockerfileからimageの作成
今回は以下のようなDockerfileを作成します
pythonを親イメージとし、コンテナ作成時にls
コマンドでファイルの一覧を出力します。
FROM python
CMD ls
Dockerfileからimageを作成するにはターミナル上で以下のコマンドを入力します。
$ docker build -t python-img .
以下の画像のようなものが出力されるとimageの作成がうまくいっています。
imageの作成にはターミナル上で
$docker build .
を行います。.
はカレントディレクトリのファイル情報を使用してbuildを行うという意味になります。
また、今後作成したimageを操作しやすいようにimageに-t
で名前を付けます。
また、以下のコマンドを入力すると作成したimageの一覧を出力できます。
$ docker images
4-3. imageからcontainerの作成
docker images
を入力すると一覧の中に以下のイメージがあると思います。
imageからcontainerを作成するには以下のコマンドをターミナルに入力します。
$ docker run --name python-container python-img
container作成には
$ docker run --name [containerに付ける名前] [基にするimage]の形式で入力します。
ターミナル上に以下のよう出力されるとコンテナが作成がうまくいっている。という判断でよいと思います。
おわり
Dockerのインストールから簡単なコンテナ作成までの流れをまとめてみました。
今後は、もう少し複雑な環境のコンテナの構築方法を上げていけたらと思っています。