Docker定制镜像

网友投稿 593 2022-10-12

Docker定制镜像

Docker定制镜像

Howto create a Docker Image for RHELRHEL docker images are not available from Docker Hub. It’s available from Redhat docker registry and the catalog can be accessedhere. 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 imageCreate 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<

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

rpmdb: /var/lib/rpm/Name: unexpected file type or formatIndeed, it’s a corrupt rpm database. Steps to resolve:​​​

Check for processes holding the rpm database open (usually in MUTEX/FUTEX states):

lsof | grep /var/lib/rpm

If it finds any, kill -9 them all.

Delete any temporary DB files:

rm -fv /var/lib/rpm/__*

Rebuild your RPM database:

rpm --rebuilddb -v -v

If you still have problems, a reboot is probably quickest, then repeat steps 2 and 3 above.

yum install setuptool tar vi unzip

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-rootAdditional CustomizationChroot to the new RHEL installation and perform any additional customizations if required

# chroot ${rpm_root} /bin/bashbash-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 - rhel7le9a6dac402e2bf561f833f644337f3061c6ff70ec906472d5c008755ca9ed7f1d# docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZErhel7le latest 9a6dac402e2b 11 seconds ago 360.6 MB

Use the new RHEL docker image

# docker run --hostname='rhel7-container' rhel7le uname -aLinux 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.

oracle,linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序海报组件-生成朋友圈分享海报并生成图片(微信小程序分享海报功能)
下一篇:Hanami::API - 用于HTTP API最小、极其快速、轻便的Ruby框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~