自由気ままに書いちゃおう

好きなことをつらつらと・・・

【docker】CentOS8 をカスタマイズする

今回はCentOS8のコンテナをカスタマイズしてみます。

■はじめに

CentOS8 のコンテナは用意済みとします。

www.guri2o1667.work

■CentOS8の状態について

CentOS用のdnfリポジトリ(yumリポジトリ)はコンテナ起動時から有効になっているため、dnfコマンドが使えます。

f:id:guri2o1667:20201103154119p:plain

■カスタマイズ)rpmパッケージのインストール

適当にrpmパッケージをインストールしてみます。
パッケージは何でもいいのですが、今回はnet-toolsをインストールします。

f:id:guri2o1667:20201103154430p:plain

f:id:guri2o1667:20201103154441p:plain

■カスタマイズ後のコンテナについて

net-toolsパッケージをインストールしていますが、
コンテナが存在し続ける限り(※)はインストールしたものが消えるわけではありません。
※ docker rm でコンテナを削除しない限りはコンテナは存在し続けます。

つまり、コンテナを停止(docker stop)/起動(docker start)しても、
インストールしたnet-toolsパッケージはインストールされたままとなります。

■カスタマイズ後のコンテナを使いまわしたい場合

カスタマイズを毎回するのは面倒なので、
net-toolsパッケージがインストールされた状態のコンテナイメージがあると助かります。
ただ、DockerHubのCentOSにはそのようなものがないので(ないと仮定します)、
自分でコンテナイメージを作ることになります。

■自分でコンテナイメージを作る

1.以下コマンドを実行します。

# 書式
# docker commit コンテナID イメージ名:タグ名
docker commit 6e9a4a88e22e centos:centos-nettools

イメージ名、タグ名は好きなようにつけます。
コンテナIDはカスタマイズしたCentOSのものを使用します。

f:id:guri2o1667:20201103160123p:plain


これで、カスタムイメージ(TAG列:centos-nettools)の作成が完了です。

2.カスタムイメージを利用してCentOSを起動します。

docker run -it --name centos83 centos:centos-nettools

f:id:guri2o1667:20201103160509p:plain


カスタムイメージから起動したCentOSに、net-toolsがインストールされた状態であることが確認できました。

以上です。