0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker で Git インストール済み Debian イメージ作り (docker commit/build)

Last updated at Posted at 2024-09-07

背景

何番煎じかもわからない Docker commit についての記事です。

最近 Docker を触り初めて、「おぉ Debian 動いた!とりあえずなんかソースビルドしてみるか」なんてことをしていました。

ただ、ソースをダウンロードしようとして git を打つと、コマンドが無い。そう、初期状態の Debian イメージからでは Git をインストールするところから始めなければならない。

コンテナ作る度に apt updateapt install -y git を毎回打つのは地味に面倒・・・。

「そうだ、この機会に、なんかイメージ自作するヤツ (docker commit) を習得しとくか。」

ということで、本記事書きに至りました。

docker commit ルート

下ごしらえのコンテナ作り

Debian コンテナを作って立ち上げ、入ります。

debian へのこだわりは特にありません。ubuntu にしたければ、記事の debian を読み替えれば OK。

docker pull debian # 初回のみ

docker create --name image-make -it debian
docker start image-make
docker exec -it image-make /bin/bash
# or
docker run --name image-make -it debian /bin/bash

コンテナに入ったら、Git のインストールをし、コンテナから出ます。

apt update
apt install -y git
exit

これで下ごしらえは完了。コンテナを止めます。

docker stop image-make

あとは commit

コンテナを commit してできあがり。debian-git というイメージ名にします。

docker commit image-make debian-git
docker images
# REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
# debian-git   latest    dce1db1d4b6b   3 minutes ago   259MB
# debian       latest    7b34f2fc561c   2 months ago    117MB

さっそく作ったイメージからコンテナを作って試してみましょう。

docker create --name my-con -it debian-git
docker start my-con
docker exec -it my-con /bin/bash
# or
docker run --name my-con -it debian-git /bin/sh
git --version

バージョンが出力されれば OK。これで、以降 Git 入り Debian を使いたければ、debian-git イメージを呼び出せばヨシ。

docker build ルート

(2024/09/08 追記)

上の手順、docker build ならもっと簡単でした。

下ごしらえは dockerfile の準備。

FROM debian

RUN apt update
RUN apt install -y git

あとは Build するだけ。

docker build -t debian-git .

おわり

Dockerfiledocker build で作る方法もあるっぽい。まだ勉強できていないので、気が向いたら追記予定です。

軽く勉強したらサクッと dockerfile いじれました。

多分 docker commit ルートでイメージ作るのは実験途中とかそれくらいで、普通は docker build ルートっぽいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?