<?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 @metavige</title><link>https://metavige.github.io/tags/docker/</link><description>Recent content in Docker on @metavige</description><generator>Hugo</generator><language>zh-TW</language><lastBuildDate>Thu, 30 Jul 2026 20:40:00 +0800</lastBuildDate><atom:link href="https://metavige.github.io/tags/docker/atom.xml" rel="self" type="application/rss+xml"/><item><title>當 AI 開始操作你的 Terminal，我們需要重新思考 Sandbox</title><link>https://metavige.github.io/2026/07/30/ai-agent-sandbox/</link><pubDate>Thu, 30 Jul 2026 20:40:00 +0800</pubDate><guid>https://metavige.github.io/2026/07/30/ai-agent-sandbox/</guid><description>&lt;blockquote&gt;
&lt;p&gt;從 Docker Sandbox、OrbStack 到 AI Agent 執行環境的設計思維&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="前言" class="relative group"&gt;前言 &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#%e5%89%8d%e8%a8%80" aria-label="定位點"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;過去幾年，大型語言模型（LLM）快速發展。最初的 AI 工具主要扮演「助手（Assistant）」的角色，協助撰寫程式、回答問題，真正執行的人仍然是開發者。&lt;/p&gt;
&lt;p&gt;然而，這個模式正在改變。&lt;/p&gt;
&lt;p&gt;近一年，Claude Code、Codex CLI、Gemini CLI，以及各種 AI Agent 開始具備直接操作 Terminal 的能力。它們可以修改程式碼、執行測試、操作 Git、啟動 Docker，甚至完成整個開發流程。&lt;/p&gt;
&lt;p&gt;AI 已經不只是提供建議，而是真正開始「執行工作」。&lt;/p&gt;
&lt;p&gt;這也帶來一個新的問題：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;如果 AI 擁有和工程師一樣的權限，它到底能做到多少事情？&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>GitOps - use fluxcd</title><link>https://metavige.github.io/2019/12/16/gitops-use-fluxcd/</link><pubDate>Mon, 16 Dec 2019 12:00:00 +0800</pubDate><guid>https://metavige.github.io/2019/12/16/gitops-use-fluxcd/</guid><description>&lt;p&gt;&lt;a href=""&gt;https://fluxcd.io/&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Flux 目前是 CNCF 的 Sandbox 項目 (2019.08.20)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;






 
 
&lt;figure&gt;&lt;img src="https://rammusxu.github.io/2019/07/03/gitops-flux-note/flux-flow.png" alt="" class="mx-auto my-0 rounded-md" /&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;圖片出處: &lt;a href="https://rammusxu.github.io/2019/07/03/gitops-flux-note/flux-flow.png" target="_blank" rel="noreferrer"&gt;https://rammusxu.github.io/2019/07/03/gitops-flux-note/flux-flow.png&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Docker 的反模式</title><link>https://metavige.github.io/2019/12/10/docker-anti-patterns/</link><pubDate>Tue, 10 Dec 2019 19:00:00 +0800</pubDate><guid>https://metavige.github.io/2019/12/10/docker-anti-patterns/</guid><description>&lt;p&gt;針對網路上面的文章，加上自己的解釋，說明如何避免做到 Docker 的反模式&lt;/p&gt;
&lt;p&gt;原始文章: &lt;a href="https://medium.com/containers-101/docker-anti-patterns-ad2a1fcd5ce1" target="_blank" rel="noreferrer"&gt;Docker Anti-Pattern&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Makefile for Docker Build</title><link>https://metavige.github.io/2017/03/28/makefile-for-dockerbuild/</link><pubDate>Tue, 28 Mar 2017 21:34:06 +0800</pubDate><guid>https://metavige.github.io/2017/03/28/makefile-for-dockerbuild/</guid><description>&lt;p&gt;其實我對 Makefile 算是一知半解，趁此機會學習一下&lt;/p&gt;</description></item><item><title>ElasticSearch Curator</title><link>https://metavige.github.io/2016/11/18/es_curator/</link><pubDate>Fri, 18 Nov 2016 13:34:30 +0800</pubDate><guid>https://metavige.github.io/2016/11/18/es_curator/</guid><description>&lt;p&gt;&lt;a href="https://github.com/elastic/curator" target="_blank" rel="noreferrer"&gt;Curator&lt;/a&gt; 一個用來管理 ElasticSearch indices/snapshots 的工具&lt;/p&gt;</description></item><item><title>Docker Live Migration</title><link>https://metavige.github.io/2016/11/11/Migration/</link><pubDate>Fri, 11 Nov 2016 13:13:12 +0800</pubDate><guid>https://metavige.github.io/2016/11/11/Migration/</guid><description>&lt;iframe src="//www.slideshare.net/slideshow/embed_code/key/GvdO7izO4dp714" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen&gt; &lt;/iframe&gt; &lt;div style="margin-bottom:5px"&gt; &lt;strong&gt; &lt;a href="//www.slideshare.net/PhilEstes/live-container-migration-openstack-summit-barcelona-2016" title="Live Container Migration: OpenStack Summit Barcelona 2016" target="_blank"&gt;Live Container Migration: OpenStack Summit Barcelona 2016&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a target="_blank" href="//www.slideshare.net/PhilEstes"&gt;Phil Estes&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;</description></item><item><title>Make Java 8 docker image based Alpinelinux</title><link>https://metavige.github.io/2015/11/03/docker-alpine-java8/</link><pubDate>Tue, 03 Nov 2015 22:52:59 +0800</pubDate><guid>https://metavige.github.io/2015/11/03/docker-alpine-java8/</guid><description>&lt;p&gt;製作 Java base docker image based &lt;a href="http://alpinelinux.org/" target="_blank" rel="noreferrer"&gt;Alpinelinux&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Try Docker Swarm</title><link>https://metavige.github.io/2015/04/29/try-docker-swarm/</link><pubDate>Wed, 29 Apr 2015 20:40:01 +0800</pubDate><guid>https://metavige.github.io/2015/04/29/try-docker-swarm/</guid><description>&lt;p&gt;&lt;a href="https://www.docker.com" target="_blank" rel="noreferrer"&gt;Docker&lt;/a&gt; 最近出了 1.6 版，&lt;a href="https://docs.docker.com/swarm/" target="_blank" rel="noreferrer"&gt;Docker Swarm&lt;/a&gt; 也隨之更新了。&lt;/p&gt;
&lt;p&gt;參考了以下的網站，自己嘗試做做看～
&lt;a href="https://www.voxxed.com/blog/2015/04/clustering-using-docker-swarm-0-2-0/" target="_blank" rel="noreferrer"&gt;原文連結&lt;/a&gt;&lt;/p&gt;</description></item><item><title>kitematic</title><link>https://metavige.github.io/2015/04/12/kitematic/</link><pubDate>Sun, 12 Apr 2015 13:41:59 +0800</pubDate><guid>https://metavige.github.io/2015/04/12/kitematic/</guid><description>&lt;p&gt;上個月底的新聞：&lt;br&gt;
&lt;a href="http://www.ithome.com.tw/news/94527" target="_blank" rel="noreferrer"&gt;Docker 收購新創公司 Kitematic：讓 Mac 電腦輕鬆部署容器&lt;/a&gt;&lt;/p&gt;</description></item><item><title>docker-machine for AmazonEC2</title><link>https://metavige.github.io/2015/04/12/docker-machine-aws-provider/</link><pubDate>Sun, 12 Apr 2015 09:49:28 +0800</pubDate><guid>https://metavige.github.io/2015/04/12/docker-machine-aws-provider/</guid><description>&lt;p&gt;前兩天在公司上了 Introduction Docker 的課程，回家就來試驗新的 docker-machine&lt;br&gt;
花了一點時間，研究了怎樣連接到 &lt;a href="https://aws.amazon.com/tw/" target="_blank" rel="noreferrer"&gt;AWS&lt;/a&gt; 去～&lt;/p&gt;</description></item><item><title>Docker service behind proxy - Ubuntu</title><link>https://metavige.github.io/2014/12/17/docker-behind-proxy-ubuntu/</link><pubDate>Wed, 17 Dec 2014 17:27:00 +0800</pubDate><guid>https://metavige.github.io/2014/12/17/docker-behind-proxy-ubuntu/</guid><description>&lt;p&gt;編輯 &lt;code&gt;/etc/default/docker&lt;/code&gt;&lt;br&gt;
把以下 &lt;code&gt;export http_proxy&lt;/code&gt; 的那一行 unmark, 然後改成你的 proxy 設定&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt; 1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt; 2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt; 3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt; 4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt; 5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt; 6
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt; 7
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt; 8
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt; 9
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt;10
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt;11
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt;12
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# Docker Upstart and SysVinit configuration file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# Customize location of Docker binary (especially for development testing).&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;#DOCKER=&amp;#34;/usr/local/bin/docker&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# Use DOCKER_OPTS to modify the daemon startup options.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;#DOCKER_OPTS=&amp;#34;--dns 8.8.8.8 --dns 8.8.4.4&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# If you need Docker to use an HTTP proxy, it can also be specified here.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export &lt;span style="color:#79c0ff"&gt;http_proxy&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;http://127.0.0.1:3128/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# This is also a handy place to tweak where Docker&amp;#39;s temporary files go.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;#export TMPDIR=&amp;#34;/mnt/bigdrive/docker-tmp&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;重新啟動 docker service &amp;mdash; &lt;code&gt;service docker restart&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>