Podman(Docker互換のコンテナエンジン)で作成したDockerFileをDockerHubのDockerイメージとして保存する
概要
本書では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」をクリックする。
-
下記の内容をクリックし、「Save」をクリックする。
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イメージは同一の環境なので、検証用の使い捨て環境などとして利用することができます。
Author And Source
この問題について(Podman(Docker互換のコンテナエンジン)で作成したDockerFileをDockerHubのDockerイメージとして保存する), 我々は、より多くの情報をここで見つけました https://qiita.com/yuichi1992_west/items/1e487105f34c6061dd68著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .