<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vurtualization on Amit Agarwal Linux Blog</title>
    <link>/categories/vurtualization/</link>
    <description>Recent content in Vurtualization on Amit Agarwal Linux Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Mon, 16 Mar 2020 00:58:19 +0000</lastBuildDate>
    
	<atom:link href="/categories/vurtualization/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>List all the tags for a image on docker hub</title>
      <link>/2020/03/16/list-tags-image-docker-hub/</link>
      <pubDate>Mon, 16 Mar 2020 00:58:19 +0000</pubDate>
      
      <guid>/2020/03/16/list-tags-image-docker-hub/</guid>
      <description>&lt;p&gt;Something that you may want to know sometimes and docker cli does not show by default is all the tags for the image on docker hub. Here is example to list all tags fro the centos image&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;curl https://registry.hub.docker.com/v2/repositories/library/centos/tags |jq &#39;.&#34;results&#34;[][&#34;name&#34;]&#39;&lt;/pre&gt;
&lt;p&gt;The example is for a v2 registry. The output for v1 is different than v2 registry. For a v1 registry, you can use command like below&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;curl https://registry.hub.docker.com/v1/repositories/centos/tags |jq &#39;.[][&#34;name&#34;]&#39;&lt;/pre&gt;</description>
    </item>
    
    <item>
      <title>libvirt- Create virtual machine with text console only interface</title>
      <link>/2019/05/27/libvirt-create-virtual-machine-with-text-console-only-interface/</link>
      <pubDate>Mon, 27 May 2019 01:09:34 +0000</pubDate>
      
      <guid>/2019/05/27/libvirt-create-virtual-machine-with-text-console-only-interface/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blog.amit-agarwal.co.in/2016/07/25/install-virtual-machines-line/&#34;&gt;virt-install&lt;/a&gt; is an amazing tool to create VMs. If you have created a config file (Kickstart file – ks.cfg), then its only one line un-attended install. If you are using this on remote host with ssh and unluckily cannot export display – what do you do. Do a non-graphical install. There are only minor changes in the command to tell the installer that there is no graphics available and it is amazing, is it not 🙂&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Linked clone with qemu-img</title>
      <link>/2018/04/09/linked-clone-qemu-img/</link>
      <pubDate>Mon, 09 Apr 2018 01:00:45 +0000</pubDate>
      
      <guid>/2018/04/09/linked-clone-qemu-img/</guid>
      <description>&lt;p&gt;As you would have seen in Virtualbox or vmware, there is option to create a linked clone. I wanted to use the same feature as “Snapshot” feature anyway does not look/work so great with virt-manager. So, I created a script to create a linked clone VM and here it is :&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;#!/bin/bash - 
#===============================================================================
#
#          FILE: qcow2-linked-clone.sh
# 
#         USAGE: ./qcow2-linked-clone.sh 
# 
#   DESCRIPTION: 
# 
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Amit Agarwal (aka)
#  ORGANIZATION: Mobileum
#       CREATED: 01/05/2018 09:54
# Last modified: Wed Feb 28, 2018  04:39PM
#      REVISION:  ---
#===============================================================================

set -o nounset                              # Treat unset variables as an error
UP=&#34;amitag:amitag&#34; #Here you need to put your username and group.

if [[ $# == 0 ]]
then
    read -p &#34;Enter the source path :: &#34; spath
    read -p &#34;Enter the source disk :: &#34; sdisk
    read -p &#34;Enter the destin path :: &#34; dpath
    read -p &#34;Enter the destin disk :: &#34; ddisk
    read -p &#34;Enter new VMName :: &#34; vmname
else
    spath=$(dirname $1)
    dpath=$spath
    sdisk=$(basename $1)
    ddisk=$2.qcow2
    vmname=$2
fi


sudo chown $UP &#34;$spath/$sdisk&#34;
qemu-img create -f qcow2 -b &#34;$spath/$sdisk&#34; &#34;$dpath/$ddisk&#34;

virt-install --disk $dpath/$ddisk --ram 512 \
    --virt-type kvm --vcpus 1 --name &#34;$vmname&#34; --import
&lt;/pre&gt;
&lt;p&gt;The script will create a linked qcow2 and then create a VM with that image. Running it is simple, either provide command line options or just run and it will ask you for details.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>vagrant box to libvirtd (QEMU) VM</title>
      <link>/2018/03/26/vagrant-box-libvirtd-qemu-vm/</link>
      <pubDate>Mon, 26 Mar 2018 01:00:35 +0000</pubDate>
      
      <guid>/2018/03/26/vagrant-box-libvirtd-qemu-vm/</guid>
      <description>&lt;p&gt;Like ova images, you can use box images as well with Qemu. After all, both have the disk images, so here is the script to do that. Just put the script somewhere in your path and run with ova or box image name :&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;#!/bin/bash - 
#===============================================================================
#
#          FILE: ova2vm.sh
# 
#         USAGE: ./ova2vm.sh 
# 
#   DESCRIPTION: 
# 
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Amit Agarwal (aka),
#  ORGANIZATION: Mobileum
#       CREATED: 12/28/2017 13:59
# Last modified: Sun Mar 11, 2018  12:01PM
#      REVISION:  ---
#===============================================================================

set -o nounset                              # Treat unset variables as an error
dest=&#39;/mnt/Backup/VM&#39;
ORIG=${PWD}

if [[ $# == 0 ]]
then
    echo &#34;You need to provide ova/vmdk filename&#34;
    exit
fi
if [[ $1 == *ova || $1 == *box ]]
then
    tmp=$(mktemp -d /tmp/amitXXXXXXX)
    cd  $tmp
    tar xvf $ORIG/$1
    file=$(echo $PWD/*vmdk)
else
    file=$1
    echo &#34;Not a OVA file&#34;
fi
dfile=&#34;$dest/$(basename $file)&#34;

read -p &#34;Enter the name for VM :: &#34; vmname
qemu-img convert $file $dfile -p -c -O qcow2
virt-install --disk $dfile --ram 512 \
    --virt-type kvm --vcpus 1 --name &#34;$vmname&#34; --import
&lt;/pre&gt;</description>
    </item>
    
    <item>
      <title>Add ova file as VM on Linux with libvirt (Qemu)</title>
      <link>/2018/02/12/add-ova-file-vm-linux-libvirt-qemu/</link>
      <pubDate>Mon, 12 Feb 2018 01:00:03 +0000</pubDate>
      
      <guid>/2018/02/12/add-ova-file-vm-linux-libvirt-qemu/</guid>
      <description>&lt;p&gt;Although the commands are very simple and just 2-3 steps but I keep forgetting them and hence wrote the following script:&lt;/p&gt;
&lt;p&gt;The script takes input as “ova” filename and then creates the qcow2 image and finally a VM for you.&lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;#!/bin/bash - 
#===============================================================================
#
#          FILE: ova2vm.sh
# 
#         USAGE: ./ova2vm.sh 
# 
#   DESCRIPTION: 
# 
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Amit Agarwal (aka), 
#  ORGANIZATION: Mobileum
#       CREATED: 12/28/2017 13:59
# Last modified: Thu Dec 28, 2017  02:17PM
#      REVISION:  ---
#===============================================================================

set -o nounset                              # Treat unset variables as an error

if [[ $# == 0 ]]
then
    echo &#34;You need to provide ova/vmdk filename&#34;
    exit
fi
if [[ $1 == *ova ]]
then
    tmp=$(mktemp -d /tmp/amitXXXXXXX)
    cd  $tmp
    tar xvf $1
    file=$(echo $PWD/*vmdk)
else
    file=$1
    echo &#34;Not a OVA file&#34;
fi
dfile=&#34;$dest/$(basename $file)&#34;

read -p &#34;Enter the name for VM&#34; vmname
qemu-img convert $file $dfile -p -c -O qcow2
virt-install --disk $dfile --ram 512 \
    --virt-type kvm --vcpus 1 --name &#34;$vmname&#34; --import
&lt;/pre&gt;</description>
    </item>
    
    <item>
      <title>Better windows VM experience on Qemu</title>
      <link>/2018/01/29/windows-vm-experience-qemu/</link>
      <pubDate>Mon, 29 Jan 2018 01:00:02 +0000</pubDate>
      
      <guid>/2018/01/29/windows-vm-experience-qemu/</guid>
      <description>&lt;p&gt;With Qemu resize and copy-paste option,  Windows VM seems to be lacking all this. This can be fixed by installing the spice tools in Windows VM. To do this, head over to &lt;a href=&#34;https://spice-space.org/download.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;spice space&lt;/a&gt; and download the tool and enjoy your better VM experience.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Fix display size on libvirt/Qemu guest</title>
      <link>/2017/05/22/fix-display-size-libvirtqemu-guest/</link>
      <pubDate>Mon, 22 May 2017 01:05:14 +0000</pubDate>
      
      <guid>/2017/05/22/fix-display-size-libvirtqemu-guest/</guid>
      <description>&lt;p&gt;Lot of times I find myself of VM that does not correctly resize the screen display and that is literally nuisance. So, here is quick and dirty fix for this.&lt;/p&gt;
&lt;p&gt;First you need to find out information about your display with following command:&lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;xrandr -q&lt;/pre&gt;
&lt;p&gt;And you will see output like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192&lt;br&gt;
Virtual-0 connected primary 1920×1080+0+0 0mm x 0mm&lt;br&gt;
1024×768      59.92 +&lt;br&gt;
1920×1200     59.88&lt;br&gt;
1920×1080     59.96*&lt;br&gt;
1600×1200     59.87&lt;br&gt;
1680×1050     59.95&lt;br&gt;
1400×1050     59.98&lt;br&gt;
1280×1024     59.89&lt;br&gt;
1440×900      59.89&lt;br&gt;
1280×960      59.94&lt;br&gt;
1280×854      59.89&lt;br&gt;
1280×800      59.81&lt;br&gt;
1280×720      59.86&lt;br&gt;
1152×768      59.78&lt;br&gt;
800×600       59.86&lt;br&gt;
848×480       59.66&lt;br&gt;
720×480       59.71&lt;br&gt;
640×480       59.38&lt;br&gt;
Virtual-1 disconnected&lt;br&gt;
Virtual-2 disconnected&lt;br&gt;
Virtual-3 disconnected&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Separation Anxiety: A Tutorial for Isolating Your System with Linux Namespaces</title>
      <link>/2017/02/06/separation-anxiety-tutorial-isolating-system-linux-namespaces/</link>
      <pubDate>Mon, 06 Feb 2017 01:08:32 +0000</pubDate>
      
      <guid>/2017/02/06/separation-anxiety-tutorial-isolating-system-linux-namespaces/</guid>
      <description>&lt;p&gt;With the advent of tools like &lt;a href=&#34;https://www.docker.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Docker&lt;/a&gt;, &lt;a href=&#34;https://linuxcontainers.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Linux Containers&lt;/a&gt;, and others, it has become super easy to isolate Linux processes into their own little system environments. This makes it possible to run a whole range of applications on a single real Linux machine and ensure no two of them can interfere with each other, without having to resort to using virtual machines. These tools have been a huge boon to &lt;a href=&#34;https://en.wikipedia.org/wiki/Platform_as_a_service&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PaaS&lt;/a&gt; providers. But what exactly happens under the hood?&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ansible with docker dynamic inventory</title>
      <link>/2017/01/09/ansible-docker-dynamic-inventory/</link>
      <pubDate>Mon, 09 Jan 2017 00:50:55 +0000</pubDate>
      
      <guid>/2017/01/09/ansible-docker-dynamic-inventory/</guid>
      <description>&lt;p&gt;So, I have a few dockers. Every now and then I want to run some command on all of them. Doing ‘docker exec’ is tiresome. I found this neat solution with ansible that I thought I should share with you.&lt;/p&gt;
&lt;p&gt;To get started, you need to have the “docker.py” script. This script will be used as python script inventory for ansible. So, use the following command and get the script:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>supernova – manage multiple openstack environment</title>
      <link>/2016/08/01/supernova-manage-multiple-openstack-environment/</link>
      <pubDate>Mon, 01 Aug 2016 01:02:15 +0000</pubDate>
      
      <guid>/2016/08/01/supernova-manage-multiple-openstack-environment/</guid>
      <description>&lt;p&gt;&lt;a class=&#34;zem_slink&#34; title=&#34;Supernova&#34; href=&#34;http://en.wikipedia.org/wiki/Supernova&#34; target=&#34;_blank&#34; rel=&#34;wikipedia&#34;&gt;supernova&lt;/a&gt; is an easy to use tool that helps manage multiple openstack environments.&lt;/p&gt;
&lt;p&gt;Details –&lt;/p&gt;
&lt;blockquote&gt;
&lt;dl&gt;
&lt;dt&gt;Name        : supernova&lt;/dt&gt;
&lt;dt&gt;Arch        : noarch&lt;/dt&gt;
&lt;dt&gt;Epoch       : 0&lt;/dt&gt;
&lt;dt&gt;Version     : 2.2.0&lt;/dt&gt;
&lt;dt&gt;Release     : 2.fc24&lt;/dt&gt;
&lt;dt&gt;Size        : 62 k&lt;/dt&gt;
&lt;dt&gt;Repo        : @System&lt;/dt&gt;
&lt;dt&gt;From repo   : fedora&lt;/dt&gt;
&lt;dt&gt;Summary     : Use novaclient with multiple &lt;a class=&#34;zem_slink&#34; title=&#34;OpenStack&#34; href=&#34;http://openstack.org/&#34; target=&#34;_blank&#34; rel=&#34;homepage&#34;&gt;OpenStack&lt;/a&gt; nova environments the easy way&lt;/dt&gt;
&lt;dt&gt;&lt;a class=&#34;zem_slink&#34; title=&#34;Uniform resource locator&#34; href=&#34;http://en.wikipedia.org/wiki/Uniform_resource_locator&#34; target=&#34;_blank&#34; rel=&#34;wikipedia&#34;&gt;URL&lt;/a&gt;         : &lt;a href=&#34;https://github.com/major/supernova&#34;&gt;https://github.com/major/supernova&lt;/a&gt;&lt;/dt&gt;
&lt;dt&gt;License     : ASL 2.0&lt;/dt&gt;
&lt;dt&gt;Description : supernova manages multiple nova environments without sourcing&lt;/dt&gt;
&lt;dd&gt;novarc files or mucking with &lt;a class=&#34;zem_slink&#34; title=&#34;Environment variable&#34; href=&#34;http://en.wikipedia.org/wiki/Environment_variable&#34; target=&#34;_blank&#34; rel=&#34;wikipedia&#34;&gt;environment variables&lt;/a&gt;.&lt;/dd&gt;
&lt;/dl&gt;
&lt;/blockquote&gt;
&lt;p&gt;To get started, start with installing supernova with&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Install virtual machines in one line</title>
      <link>/2016/07/25/install-virtual-machines-line/</link>
      <pubDate>Mon, 25 Jul 2016 00:47:23 +0000</pubDate>
      
      <guid>/2016/07/25/install-virtual-machines-line/</guid>
      <description>&lt;p&gt;To install a VM from command line, you can use the following command. Change the required parameters as need but you need to change at-least CDROM iso image and disk-path.&lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;virt-install \
    -n myVM \
    --description &#34;Test VM&#34; \
    --os-type=Linux \
        --os-variant=centos7 \
        --ram=2048 \
        --vcpus=2 \
        --disk path=./myVM.img,bus=virtio,size=10 \
        --graphics none \
        --cdrom  &amp;lt;Image installtion CDROM&amp;gt;.iso \
        --net user
&lt;/pre&gt;</description>
    </item>
    
    <item>
      <title>Python script to manage virtual machines with python API for libvirt.</title>
      <link>/2016/07/04/python-script-manage-virtual-machines-python-api-libvirt/</link>
      <pubDate>Mon, 04 Jul 2016 01:00:51 +0000</pubDate>
      
      <guid>/2016/07/04/python-script-manage-virtual-machines-python-api-libvirt/</guid>
      <description>&lt;p&gt;Most of times I use virt-manager to manage VMs but sometimes, I have to manage VMs on other hosts over ssh when connected over VPN or while I am working remotely. GUI like virt-manager thus becomes slow, and hence I like to use cli commands and nothing is better than virsh. But here is simple script that I use sometimes to manage the VMs with CLI based menu. Hope you find it useful.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Most simple and fast lightweight container with Fedora systemd</title>
      <link>/2016/04/15/simple-fast-lightweight-container-fedora-systemd/</link>
      <pubDate>Fri, 15 Apr 2016 01:05:32 +0000</pubDate>
      
      <guid>/2016/04/15/simple-fast-lightweight-container-fedora-systemd/</guid>
      <description>&lt;p&gt;If you need to have a quick bash shell in sandbox with not network as well, then the most simple command I could find so far is:&lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;sudo virt-sandbox -c lxc:/// /bin/bash&lt;/pre&gt;
&lt;p&gt;For this you will need to have libvirt-sandbox installed which you can do with the following command:&lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;sudo yum install libvirt-sandbox&lt;/pre&gt;</description>
    </item>
    
    <item>
      <title>virsh – show ip address of all running VMs</title>
      <link>/2016/02/01/virsh-show-ip-address-running-vms/</link>
      <pubDate>Mon, 01 Feb 2016 00:52:31 +0000</pubDate>
      
      <guid>/2016/02/01/virsh-show-ip-address-running-vms/</guid>
      <description>&lt;p&gt;If you are using the libvirt and associated tools, then you must be aware about virt-manager. However this being a GUI tools, it is not possible to always use this. “virsh” is a good option for this.&lt;/p&gt;
&lt;p&gt;To start with, if you need to know all the VMs all the running VMs, then you can use (to only view the names):&lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;virsh list --name&lt;/pre&gt;
&lt;p&gt;Extending this to make it more useful is the case if you need to know the IP address for the running VMs. Here is a simple code that you can put in alias or function that can be used to get the IP address of the running VM’s.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>dnsmasq local name resolution with NetworkManager</title>
      <link>/2015/08/27/dnsmasq-local-resolution-networkmanager/</link>
      <pubDate>Thu, 27 Aug 2015 01:15:06 +0000</pubDate>
      
      <guid>/2015/08/27/dnsmasq-local-resolution-networkmanager/</guid>
      <description>&lt;p&gt;&lt;a class=&#34;zem_slink&#34; title=&#34;NetworkManager&#34; href=&#34;http://projects.gnome.org/NetworkManager/&#34; target=&#34;_blank&#34; rel=&#34;homepage&#34;&gt;Network Manager&lt;/a&gt; suports starting dnsmasq which helps you have a local cache for &lt;a class=&#34;zem_slink&#34; title=&#34;Domain Name System&#34; href=&#34;http://en.wikipedia.org/wiki/Domain_Name_System&#34; target=&#34;_blank&#34; rel=&#34;wikipedia&#34;&gt;DNS&lt;/a&gt; thus getting faster resolution for the DNS queries.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://blog.amit-agarwal.co.in/2013/01/28/dnsmasq-network-manager/&#34;&gt;Dnsmasq with netowrkmanager&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So, one thing that I have been thinking about is having a local &lt;a class=&#34;zem_slink&#34; title=&#34;Name resolution&#34; href=&#34;http://en.wikipedia.org/wiki/Name_resolution&#34; target=&#34;_blank&#34; rel=&#34;wikipedia&#34;&gt;name resolution&lt;/a&gt; for the VMs. So, I wanted something like this to work:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;vm1 =&amp;gt; 172.17.42,1&lt;/p&gt;
&lt;p&gt;vm2 =&amp;gt; 172.17.42,2&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and so on …&lt;/p&gt;
&lt;p&gt;To achieve this and &lt;a class=&#34;zem_slink&#34; title=&#34;Reverse DNS lookup&#34; href=&#34;http://en.wikipedia.org/wiki/Reverse_DNS_lookup&#34; target=&#34;_blank&#34; rel=&#34;wikipedia&#34;&gt;reverse dns&lt;/a&gt; to work, we will add the entries in file “&lt;strong&gt;/etc/NetworkManager/dnsmasq.d/hostnames&lt;/strong&gt;“. Just one more problem, adding so many entries manually? So, to help you with that, I created this small script:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>docker search description truncated</title>
      <link>/2015/05/05/docker-search-description-truncated/</link>
      <pubDate>Tue, 05 May 2015 00:55:32 +0000</pubDate>
      
      <guid>/2015/05/05/docker-search-description-truncated/</guid>
      <description>&lt;p&gt;When you search with “docker search”, you would notice that the description of the image is truncated. Sometimes you want to see full description, to do so, you can use &lt;strong&gt;–no-trunc&lt;/strong&gt; option. So, for example you want to search for fedora images, you can use the following command:&lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;docker search --no-trunc  fedora&lt;/pre&gt;</description>
    </item>
    
    <item>
      <title>apache in docker to serve local website</title>
      <link>/2015/01/05/apache-docker-serve-local-website/</link>
      <pubDate>Mon, 05 Jan 2015 01:15:44 +0000</pubDate>
      
      <guid>/2015/01/05/apache-docker-serve-local-website/</guid>
      <description>&lt;p&gt;I have some backup’s of website on my laptop, which I occasionally want to view. Now, I could have setup apache to serve them directly with VirtualHost or alias but wanted a better solution. So, docker comes to rescue.&lt;/p&gt;
&lt;p&gt;First, I installed fedora-dockerfiles and then made some modifications, here they are :&lt;/p&gt;
&lt;pre class=&#34;brush:shell&#34;&gt;sudo yum install fedora-dockerfiles&lt;/pre&gt;
&lt;p&gt;After this is done, go to /usr/share/fedora-dockerfiles/apache and make some modification to Dockerfile.  After the modifications, the file looks like this&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
