<p>I'm using Docker to create a container application and then deploy it to <a href="https://cloud.google.com/kubernetes-engine/" rel="noreferrer">kubernetes engine</a> but when the application is been initialized I get this error: </p>

<pre><code>err: open C:\Go/lib/time/zoneinfo.zip: no such file or directory
</code></pre>

<p><a href="https://i.stack.imgur.com/UAjLT.png" rel="noreferrer"><img src="https://i.stack.imgur.com/UAjLT.png" alt="enter image description here"></a></p>

<p><a href="https://i.stack.imgur.com/OCnpZ.png" rel="noreferrer"><img src="https://i.stack.imgur.com/OCnpZ.png" alt="enter image description here"></a></p>

<p>You might consider building your Go application <a href="https://golang.org/doc/go1.15#time/tzdata" rel="nofollow noreferrer">with Go 1.15</a> (August 2020, two years later)</p>
<blockquote>
<h2>New embedded tzdata package</h2>
</blockquote>
<blockquote>
<p>Go 1.15 includes a new package, <a href="https://golang.org/pkg/time/tzdata/" rel="nofollow noreferrer"><code>time/tzdata</code></a>, that permits embedding the timezone database into a program.</p>
<ul>
<li>Importing this package (as <code>import _ &quot;time/tzdata&quot;</code>) permits the program to find timezone information even if the timezone database is not available on the local system.</li>
<li>You can also embed the timezone database by building with <code>-tags timetzdata</code>.</li>
</ul>
<p>Either approach increases the size of the program by about 800 KB.</p>
</blockquote>
<p>That way, once deployed to a Kubernetes engine as a Docker image, it won't have to try and load any timezone information, since said information is embedded in its program.</p>
<p><strong>Caveat</strong>: as <a href="https://stackoverflow.com/questions/52489347/how-to-create-a-binary-that-contains-zoneinfo-zip/69312649#comment122507561_63371576">commented</a> by <a href="https://stackoverflow.com/users/328115/dolmen">dolmen</a>:</p>
<blockquote>
<p>This solution has the <strong>drawback that the timezone information version is linked to the version of Go you use for building</strong>.</p>
<p>If you keep using a fixed version of Go for your project, you will keep timezones from that version.</p>
<p>Being able to update the timezone information independently from the Go version (update every time you rebuild the Docker image for deploy) might be a better choice.</p>
</blockquote>
<p>As an illustration, see dolmen's <a href="https://stackoverflow.com/a/69312649/6309">answer</a>.</p>
