<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Grafana on widerin</title><link>http://widerin.net/tags/grafana/</link><description>Recent content in Grafana on widerin</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 26 Jul 2020 12:30:34 +0200</lastBuildDate><atom:link href="http://widerin.net/tags/grafana/index.xml" rel="self" type="application/rss+xml"/><item><title>Official Grafana docker image on OpenShift 3.x</title><link>http://widerin.net/posts/2017/official-grafana-docker-image-on-openshift-3.x/</link><pubDate>Sun, 10 Sep 2017 00:00:00 +0000</pubDate><guid>http://widerin.net/posts/2017/official-grafana-docker-image-on-openshift-3.x/</guid><description>&lt;p&gt;Running offical docker images from &lt;a href="https://hub.docker.com"&gt;Docker hub&lt;/a&gt; on &lt;a href="https://www.openshift.com/"&gt;OpenShift&lt;/a&gt; can be
painful as it uses &lt;a href="https://docs.openshift.org/latest/creating_images/guidelines.html#openshift-origin-specific-guidelines"&gt;arbitrary user ids&lt;/a&gt;
by default. Often you end up building your own or using 3rd party
forks/clones of the offical image, which leds to additional effort to
keep it up to date in terms of security and/or version upgrades.&lt;/p&gt;
&lt;div class="callout callout-default"&gt;
&lt;p class="callout-title"&gt;Background&lt;/p&gt;
Technically speaking, [OpenShift] generates a dynamic &lt;code&gt;uid&lt;/code&gt; to launch a
container which will not have an associated entry in the containers
&lt;code&gt;/etc/passwd&lt;/code&gt; file. At docker image build time this user does not exist so
&lt;code&gt;chown&lt;/code&gt; files and/or directories to this &lt;code&gt;uid&lt;/code&gt; is not possible.
&lt;/div&gt;
&lt;h2 id="grafanas-docker-image"&gt;Grafana&amp;rsquo;s docker image&lt;/h2&gt;
&lt;h3 id="gosu"&gt;gosu&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://grafana.com/"&gt;Grafana&lt;/a&gt; runs its service as &lt;code&gt;grafana&lt;/code&gt; user and uses an &lt;em&gt;entrypoint
script&lt;/em&gt; which runs as &lt;code&gt;root&lt;/code&gt; and launches &lt;code&gt;grafana-server&lt;/code&gt; as &lt;code&gt;grafana&lt;/code&gt;
user by using &lt;a href="https://github.com/tianon/gosu"&gt;gosu&lt;/a&gt;, see &lt;a href="https://github.com/grafana/grafana-docker/blob/b1fbad4afe22f88931d0b632d9a3c0df4221345c/run.sh#L42-L49"&gt;run.sh on
github.com&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>