80
79

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

docker用にCentOS 6.5のbase imageを自作する

Posted at

Public docker images · dotcloud/docker WikiにdockerオフィシャルなCentOS 6.4のbase imageがあります。

でもCentOS 6.5のbase imageが欲しいし、適宜カスタマイズしたbase imageを自作したいところです。

Create a Base Image - Docker Documentationに作り方の説明があり、CentOS用のスクリプトdocker/contrib/mkimage-rinse.sh at master · dotcloud/dockerもあります。

また、Building a RHEL/CentOS Docker base image – devops and securityDockerで自分専用のDebianイメージを作る - ただのにっき(2013-12-13)、Ubuntuならdockerのカスタムベースイメージを作成する - @znz blogという記事も見つけました。

さらに探すと、Official CentOS base image · Issue #290 · dotcloud/dockerにdockerオフィシャルなCentOS 6.4 base imageを作成したスクリプトが載っていました。こちらのほうがシンプルなのでこれを使うことにします。

CentOSのミラーのURLをftp.riken.jpに変更しCentOS 6.5用に編集して、保存します。ここではcent65.shという名前にしました。

#!/bin/bash

MIRROR_URL="http://ftp.riken.jp/Linux/centos/6.5/os/x86_64/"
MIRROR_URL_UPDATES="http://ftp.riken.jp/Linux/centos/6.5/updates/x86_64/"

yum install -y febootstrap xz

febootstrap -i bash -i coreutils -i tar -i bzip2 -i gzip -i vim-minimal -i wget -i patch -i diffutils -i iproute -i yum centos centos65  $MIRROR_URL -u $MIRROR_URL_UPDATES
touch centos65/etc/resolv.conf
touch centos65/sbin/init

tar --numeric-owner -Jcpf centos-65.tar.xz -C centos65 .

CentOS 6.5上で上記のスクリプトを実行します。

$ ./cent65.sh

作成したbase imageを登録するには以下のコマンドを実行します。

$ cat centos-65.tar.xz | sudo docker import - local/centos:6.5

試しに以下のようにechoコマンドを実行すると問題なく実行できました。

$ docker run local/centos:6.5 echo 'hello world'

docker indexに自作したbase imageを登録

他のマシンでも使いたいので、 https://index.docker.io/ に登録します。仮想環境構築に docker を使う - apatheia.infoに説明があります。公式ドキュメントだとShare Images via Repositories - Docker Documentationのあたりです。

docker indexにsignupしてアカウント作成

ブラウザで https://index.docker.io/ を開き、右上のsignupのリンクをクリックしてフォームに必要事項を入力して[sign up]ボタンを押します。登録確認のメールが届くのでメール内のリンクをクリックして登録を完了します。

base imageを登録

仮想環境構築に docker を使う - apatheia.info詳細の手順で登録します。

$ docker ps -a -notrunc

でcommitしたいイメージのIDを調べます。

$ docker commit -author="Hiroaki Nakamura <hnakamur@gmail.com>" -m="CentOS 6.5 x86_64 minimal" b7f2422dc993801dbda0b566a5dd515aa7af0d792f9159c56f16c6035492d1c4 hnakamur/centos:6.5

のようにしてcommitします (イメージのIDは適宜変更してください)。

あとは

sudo docker push hnakamur/centos

とpushします。

Search | Docker Indexでhnakamurで検索してみるとhnakamur: Search Results | Docker Indexという結果になり、hnakamur/centos Repository | Docker Indexで詳細ページが見られます。

80
79
3

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
80
79

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?