概要
本書ではDocker互換のコンテナエンジンであるPodmanを使用し、DockerFileを作成します。その後、Github経由でPodmanからDockerHubにDockerイメージとして保存します。
前提条件
- DockerHub,GitHubのアカウントを作成していること。
- CentOS8をインストールしていること。
- 本書ではWindows 10 Pro (Hyper-V)を使用します。
- 本書では podman-docker パッケージをインストールします。
- Podmanのインストールについてはこちらをご覧ください。リンク先
0.主な流れ
- PodmanでDockerFileを作成する。
- PodmanでDockerFileを検証する。
- GitHubにDockerFileを上げる。
- DockerHubにてGitHub上のDocerFileからDockerイメージを作成する。
1. GitHubの設定
0章の3,4のように、3章で作成するDockerFileをGitHubに上げる必要があります。その為、GitHub上でリポジトリ(repository)を作成してください。
2. DockerHubの設定
-
下記の内容を入力し、「Create」をクリックする。
- リポジトリ名
- 説明
- Visibillity : PublicかPrivateのどちらかを選択
- Build Setting : GitHubを「Connected」にする。(GitHubの認証画面が表示されます)
- SOURCE REPOSITORY : リポジトリ名
- AUTOTEST : Internal and External Pull Requests
- Autobulid : ON
- Build Caching : ON
3. DockerFileの作成
-
5章でGitHubに上げるために、リポジトリ専用のディレクトリを作成する。
$ mkdir [ディレクトリ名] $ cd [ディレクトリ名]
-
DockerFileをエディターにて作成する。例として本書ではviで作成する。
$ vi DockerFile
-
エディターにてDockerFileを作成する。例として本書では下記のようにDockerFileを作成した。
FROM centos:8 LABEL maintainer="yuichi1992" RUN dnf -y install mariadb mariadb-server RUN dnf -y install httpd RUN echo "test-page" > /var/www/html/index.html RUN systemctl enable mariadb RUN systemctl enable httpd
-
作成したDockerFileを保存する。(viではコマンドモードで
:wq
)
4. DockerFileの検証
-
DockerFileをDockerImageに変換する。
$ docker build ./ -t [名前]
-
エラーが発生せずにコマンドが実行できたことを確認する。
-
DockerFileから生成したDockerImageを確認・使用する。
$ docker images $ docker run -t -i [イメージID] /bin/bash コンテナ内にてmariadb,httpdがインストールされているか確認 $ rpm -qa | grep maria $ rpm -qa | grep httpd $ cat /var/www/html/index.html
5. GitHubにDockerFileを上げる
-
下記のコマンドを実行し、DockerFileをGitHubに上げる。
$ git init $ git add . $ git commit -m "First Commit" $ git remote origin [リモートリポジトリ名] $ git push -f origin master
6. DockerHubの確認
最後に
Podmanを使用しDockerHubにDockerFileを上げることで、DockerHubにDockerイメージが保存されます。これによって他端末にDockerをインストールすることで、DockerHubで保存したDockerイメージを使用することができます。保存したDockerイメージは同一の環境なので、検証用の使い捨て環境などとして利用することができます。