<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docker on code.kiwi.com</title><link>https://code.kiwi.com/tag/docker/</link><description>Recent content in Docker on code.kiwi.com</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 24 Mar 2023 17:41:38 +0000</lastBuildDate><atom:link href="https://code.kiwi.com/tag/docker/index.xml" rel="self" type="application/rss+xml"/><item><title>Announcing Crane — a GitLab CI-ready image for deploying to Rancher</title><link>https://code.kiwi.com/articles/announcing-crane-a-gitlab-ci-ready-image-for-deploying-to-rancher/</link><pubDate>Mon, 26 Feb 2018 10:54:00 +0000</pubDate><guid>https://code.kiwi.com/articles/announcing-crane-a-gitlab-ci-ready-image-for-deploying-to-rancher/</guid><description>&lt;p&gt;We’re happy to finally write about our latest larger-scale open source project: &lt;a href="https://github.com/kiwicom/crane"&gt;Crane&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We use &lt;a href="https://rancher.com/"&gt;Rancher&lt;/a&gt; for container orchestration extensively at &lt;a href="https://www.kiwi.com/"&gt;Kiwi.com&lt;/a&gt;, and saw a need to streamline our release process. Even though Rancher’s sweet web UI makes the manual upgrade procedure at least &lt;em&gt;bearable&lt;/em&gt;, there’s still plenty of things to manage around announcing and recording deployments. Crane is our attempt at automating as much of this as possible.&lt;/p&gt;</description></item><item><title>Our Comprehensive Guide to Python Dependencies</title><link>https://code.kiwi.com/articles/our-comprehensive-guide-to-python-dependencies/</link><pubDate>Thu, 15 Feb 2018 10:52:00 +0000</pubDate><guid>https://code.kiwi.com/articles/our-comprehensive-guide-to-python-dependencies/</guid><description>&lt;p&gt;&lt;em&gt;The following article is from Kiwi.com’s internal engineering handbook. We thought it could come in handy for others as well, so we decided to share it with the world here, like&lt;/em&gt; &lt;a href="https://code.kiwi.com/code-design-principles-for-public-apis-of-modules-6a43aaf26624"&gt;&lt;em&gt;we’ve done before&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="a-refresher-on-the-basics"&gt;A refresher on the basics&lt;/h2&gt;&lt;h3 id="what-are-requirements"&gt;What are requirements?&lt;/h3&gt;&lt;p&gt;They are usually stored in &lt;code&gt;requirements.txt&lt;/code&gt; as a list of 3rd party apps which your project depends on. An example of a requirements file:&lt;/p&gt;</description></item><item><title>Travelling Salesman Challenge — Recap</title><link>https://code.kiwi.com/articles/travelling-salesman-challenge-recap/</link><pubDate>Thu, 30 Mar 2017 21:25:00 +0000</pubDate><guid>https://code.kiwi.com/articles/travelling-salesman-challenge-recap/</guid><description>&lt;p&gt;The Travelling Salesman Challenge has ended which means it’s a great time to look back and summarise the event. You can see the &lt;a href="https://www.facebook.com/pg/codekiwicom/photos/?tab=album&amp;amp;album_id=1811865135800580"&gt;pictures here&lt;/a&gt; and watch &lt;a href="https://www.youtube.com/watch?v=o3UqJiitVKw"&gt;the video here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/4fdb7034b9a3e092c2fa04205033a21e563a9bd7a8c52730f8bcae569dfea8bf.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="designing-the-challenge"&gt;Designing the challenge&lt;/h2&gt;&lt;p&gt;There are multiple ways of setting up the technical environment for this kind of competitive programming event. The most important question is where to run the contestant’s code during the evaluation stage.&lt;/p&gt;</description></item><item><title>Docker meetup</title><link>https://code.kiwi.com/articles/docker-meetup/</link><pubDate>Thu, 24 Nov 2016 20:15:00 +0000</pubDate><guid>https://code.kiwi.com/articles/docker-meetup/</guid><description>&lt;p&gt;On Thursday, December 1 there was another &lt;a href="https://www.meetup.com/Docker-Brno/events/234091097/"&gt;Docker meetup&lt;/a&gt; in our Wine cellar at Hllinky 102 in Brno. We learnt more about containers from four senior speakers, all from different companies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Evgeny Shmarnev from SUSE taught us how to secure and manage an on-premise Docker registry with Portus.&lt;/li&gt;
&lt;li&gt;Roman Galeev from 2600Hz talked about using Docker to ease development — testing, packaging and deployment, especially for Erlang applications.&lt;/li&gt;
&lt;li&gt;Michal Fojtik from Red Hat gave a brief introduction to Kubernetes and OpenShift, showing us how it can be used to orchestrate containerized applications.&lt;/li&gt;
&lt;li&gt;Tomas Holcman from Kiwi.com showed us how to manage a globally distributed, highly available application with AWS and Rancher.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/ca36496c48af02c3c990991a70e821fa62f72e13b823aa05350715e09ba9d076.webp" alt=""&gt;&lt;/p&gt;</description></item><item><title>How to Find a “Silent” Bug</title><link>https://code.kiwi.com/articles/how-to-find-a-silent-bug/</link><pubDate>Tue, 25 Oct 2016 19:32:00 +0000</pubDate><guid>https://code.kiwi.com/articles/how-to-find-a-silent-bug/</guid><description>&lt;p&gt;Now and again, some very weird bugs occur.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://code.kiwi.com/images/media/51625b72f3c060100005bad08a6783a078b2c1caefae731051dfd7653fd56ee4.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Photo by &lt;a href="https://unsplash.com/photos/iZJTmZAff8w?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;David Clode&lt;/a&gt; on &lt;a href="https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the case of &lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt;, and out internal Kiwibase project, I spent half a day fighting with a particularly weird bug.&lt;/p&gt;
&lt;h2 id="what-happened"&gt;What Happened&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;A colleague had prepared a branch for our shiny new feature&lt;/li&gt;
&lt;li&gt;Tests were passed (okay, I’m lying slightly; there was one minor bug in the HTML content which was not related to this issue)&lt;/li&gt;
&lt;li&gt;I was able to successfully run it on my computer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So I tried to deploy it on the server and it didn’t work. The only screen I could see was this:&lt;/p&gt;</description></item></channel></rss>