Howto create a Docker Image From ISO image 如何从CentOS ISO文件自己制作docker镜像

Howto create a Docker Image From ISO image
BY PRADIPTA KUMAR BANERJEE · OCTOBER 4, 2015

RHEL docker images are not available from Docker Hub. It’s available from Redhat docker registry and the catalog can be accessed here. However there could be cases where you might want to create a RHEL docker image from scratch. The following steps will guide you to create a RHEL docker image from scratch. While these steps are for creating RHEL 7.1 LE docker image on PowerPC servers, the same can be applied for creating RHEL docker image on Intel servers as well.

The steps below have been performed on an Ubuntu 15.10 OS running as a PowerKVM guest. However you can run the same steps on RHEL or Fedora as well.

Pre-requisites

Access to RHEL package repository. You can use a local repository created from RHEL installation ISO as described below

mkdir -p /mnt/rhel7-repo

mount -o loop RHEL-LE-7.1-20150219.1-Server-ppc64le-dvd1.iso /mnt/rhel7-repo/

Install ‘yum’ package. This is not required on a RHEL or Fedora system as it’ll be there by default.

apt-get install yum

Steps to create a RHEL docker image

Create a new RPM root directory

mkdir /rhel7-root

export rpm_root=/rhel7-root

Initialize the new RPM root directory

rpm --root ${rpm_root} --initdb

The rest of the install instructions will use this new RPM root as the install destination for a minimalistic RHEL OS.

Install the redhat-release-server rpm package for RHEL 7.1 LE

rpm --root ${rpm_root} -ivh /mnt/rhel7-repo/Packages/redhat-release-server-7.1-1.ael7b.ppc64le.rpm

Configure yum repositories as required.
For example if you want to use only the local repository, then do the following

rm -f ${rpm_root}/etc/yum.repos.d/*.repo

cat >${rpm_root}/etc/yum.repos.d/rhel71le.repo<<EOF

[rhel71le]
baseurl=file:///mnt/rhel7-repo
enabled=1
EOF
If you encounter ‘No such file or directory’ error, then you’ll need to create the /etc/yum.repos.d directory.

Import GPG keys

rpm --root ${rpm_root} --import /mnt/rhel7-repo/RPM-GPG-KEY-redhat-*

Install minimalistic RHEL OS

yum -y --installroot=${rpm_root} install yum

This will install a minimalistic RHEL OS under /rhel7-root

Additional Customization
Chroot to the new RHEL installation and perform any additional customizations if required

chroot ${rpm_root} /bin/bash

bash-4.2# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.1 (Maipo)
Convert this RHEL installation to a docker image

tar -C ${rpm_root}/ -c . | docker import - rhel7le

9a6dac402e2bf561f833f644337f3061c6ff70ec906472d5c008755ca9ed7f1d

docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
rhel7le latest 9a6dac402e2b 11 seconds ago 360.6 MB
Use the new RHEL docker image

docker run --hostname=‘rhel7-container’ rhel7le uname -a

Linux rhel7-container 4.2.0-10-generic #12-Ubuntu SMP Tue Sep 15 19:46:04 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux
Once you have created the RHEL docker image, you can push it to your local registry for sharing. Hope this will be of some help to you in your docker journey.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值