<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://md5.pw/index.php?action=history&amp;feed=atom&amp;title=%E6%8A%8A_Docker_%E5%AE%B9%E5%99%A8%E4%BB%8E%E6%97%A7%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E6%8E%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A</id>
	<title>把 Docker 容器从旧的服务器迁移掉新的服务器上 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://md5.pw/index.php?action=history&amp;feed=atom&amp;title=%E6%8A%8A_Docker_%E5%AE%B9%E5%99%A8%E4%BB%8E%E6%97%A7%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E6%8E%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A"/>
	<link rel="alternate" type="text/html" href="https://md5.pw/index.php?title=%E6%8A%8A_Docker_%E5%AE%B9%E5%99%A8%E4%BB%8E%E6%97%A7%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E6%8E%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A&amp;action=history"/>
	<updated>2026-04-04T00:00:50Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://md5.pw/index.php?title=%E6%8A%8A_Docker_%E5%AE%B9%E5%99%A8%E4%BB%8E%E6%97%A7%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E6%8E%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A&amp;diff=1412&amp;oldid=prev</id>
		<title>2026年2月17日 (二) 18:37 Liam</title>
		<link rel="alternate" type="text/html" href="https://md5.pw/index.php?title=%E6%8A%8A_Docker_%E5%AE%B9%E5%99%A8%E4%BB%8E%E6%97%A7%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E6%8E%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A&amp;diff=1412&amp;oldid=prev"/>
		<updated>2026-02-17T18:37:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年2月17日 (二) 11:37的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l128&quot;&gt;第128行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第128行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;ufw&amp;#039;&amp;#039;&amp;#039; allow 443/tcp&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;ufw&amp;#039;&amp;#039;&amp;#039; allow 443/tcp&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;ufw&amp;#039;&amp;#039;&amp;#039; reload&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;#039;&amp;#039;&amp;#039;ufw&amp;#039;&amp;#039;&amp;#039; reload&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:500 常见应用指南 — Application Guides]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff:1.41:old-1405:rev-1412:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Liam</name></author>
	</entry>
	<entry>
		<id>https://md5.pw/index.php?title=%E6%8A%8A_Docker_%E5%AE%B9%E5%99%A8%E4%BB%8E%E6%97%A7%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E6%8E%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A&amp;diff=1405&amp;oldid=prev</id>
		<title>2026年2月16日 (一) 07:52 James</title>
		<link rel="alternate" type="text/html" href="https://md5.pw/index.php?title=%E6%8A%8A_Docker_%E5%AE%B9%E5%99%A8%E4%BB%8E%E6%97%A7%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E6%8E%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A&amp;diff=1405&amp;oldid=prev"/>
		<updated>2026-02-16T07:52:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年2月16日 (一) 00:52的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;第4行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第4行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;如果只是重新 &amp;lt;code&amp;gt;docker run&amp;lt;/code&amp;gt; 一遍，原本积累的数据库、网站文章、配置信息都会丢失。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;如果只是重新 &amp;lt;code&amp;gt;docker run&amp;lt;/code&amp;gt; 一遍，原本积累的数据库、网站文章、配置信息都会丢失。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;这篇教程将提供一套&#039;&#039;&#039;“生产环境级”&#039;&#039;&#039;的迁移方案，利用 &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt; 工具，连同镜像、配置文件和持久化数据（Database/Data）一起“&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;搬家”&lt;/del&gt;，确保新机器启动后，和旧机器一模一样。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;这篇教程将提供一套&#039;&#039;&#039;“生产环境级”&#039;&#039;&#039;的迁移方案，利用 &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt; 工具，连同镜像、配置文件和持久化数据（Database/Data）一起“&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;进行迁移&lt;/ins&gt;，确保新机器启动后，和旧机器一模一样。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 迁移前的准备 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 迁移前的准备 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot;&gt;第23行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第23行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 第一步：在新 VPS 上安装 Docker 环境 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 第一步：在新 VPS 上安装 Docker 环境 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;在开始迁移数据前，新&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;房子得先装修好&lt;/del&gt;。请在新 VPS 上安装 Docker 环境。（如果已安装可跳过）&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;在开始迁移数据前，&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;要先对服务器系统组件进行更&lt;/ins&gt;新。请在新 VPS 上安装 Docker 环境。（如果已安装可跳过）&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # 1. 更新系统&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # 1. 更新系统&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  apt update &amp;amp;&amp;amp; apt upgrade -y&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  apt update &amp;amp;&amp;amp; apt upgrade -y&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l91&quot;&gt;第91行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第91行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 第五步：在新 VPS 上启动服务 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 第五步：在新 VPS 上启动服务 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;数据传完了，现在去新&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;家“通电”&lt;/del&gt;。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;数据传完了，现在去新&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;的服务器上把这些Docker启动起来&lt;/ins&gt;。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# SSH 登录到新 VPS。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# SSH 登录到新 VPS。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l114&quot;&gt;第114行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第114行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 第六步：最后&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;的收尾&lt;/del&gt;（DNS 解析） ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 第六步：最后（DNS 解析） ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;如果你的服务绑定了域名（例如 &amp;lt;code&amp;gt;blog.example.com&amp;lt;/code&amp;gt;），迁移完成后，&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;千万&lt;/del&gt;别忘了去你的域名服务商（Cloudflare, Namesilo 等）那里：&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;如果你的服务绑定了域名（例如 &amp;lt;code&amp;gt;blog.example.com&amp;lt;/code&amp;gt;），迁移完成后，别忘了去你的域名服务商（Cloudflare, Namesilo 等）那里：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 修改 A 记录：将 IP 地址修改为新 VPS 的 IP。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 修改 A 记录：将 IP 地址修改为新 VPS 的 IP。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>James</name></author>
	</entry>
	<entry>
		<id>https://md5.pw/index.php?title=%E6%8A%8A_Docker_%E5%AE%B9%E5%99%A8%E4%BB%8E%E6%97%A7%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E6%8E%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A&amp;diff=1404&amp;oldid=prev</id>
		<title>James：​把 Docker 容器从旧的服务器迁移掉新的服务器上</title>
		<link rel="alternate" type="text/html" href="https://md5.pw/index.php?title=%E6%8A%8A_Docker_%E5%AE%B9%E5%99%A8%E4%BB%8E%E6%97%A7%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E6%8E%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A&amp;diff=1404&amp;oldid=prev"/>
		<updated>2026-02-16T06:49:51Z</updated>

		<summary type="html">&lt;p&gt;把 Docker 容器从旧的服务器迁移掉新的服务器上&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
每逢“黑色星期五”或商家大促，很多人都会入手线路更好、配置更高的 VPS。但随之而来的头痛问题就是：如何把旧服务器上跑得好好的 Docker 服务，原封不动地搬到新机器上？&lt;br /&gt;
&lt;br /&gt;
如果只是重新 &amp;lt;code&amp;gt;docker run&amp;lt;/code&amp;gt; 一遍，原本积累的数据库、网站文章、配置信息都会丢失。&lt;br /&gt;
&lt;br /&gt;
这篇教程将提供一套&amp;#039;&amp;#039;&amp;#039;“生产环境级”&amp;#039;&amp;#039;&amp;#039;的迁移方案，利用 &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt; 工具，连同镜像、配置文件和持久化数据（Database/Data）一起“搬家”，确保新机器启动后，和旧机器一模一样。&lt;br /&gt;
&lt;br /&gt;
== 迁移前的准备 ==&lt;br /&gt;
&lt;br /&gt;
* 旧 VPS (Source)：拥有 root 权限，Docker 服务正在运行。&lt;br /&gt;
* 新 VPS (Target)：拥有 root 权限，建议预先安装好 Docker 和 Docker Compose。&lt;br /&gt;
* SSH 连接：确保旧 VPS 可以通过 SSH 连接到新 VPS。&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 核心思路：为什么不推荐“导出镜像”？ ==&lt;br /&gt;
新手常见的误区是使用 &amp;lt;code&amp;gt;docker export&amp;lt;/code&amp;gt; 或 &amp;lt;code&amp;gt;docker save&amp;lt;/code&amp;gt;。这些命令只能迁移容器的运行环境（镜像），而无法迁移 &amp;#039;&amp;#039;&amp;#039;卷（Volumes）&amp;#039;&amp;#039;&amp;#039;里的数据。&lt;br /&gt;
&lt;br /&gt;
最稳妥的迁移方式是：基于文件目录的同步。&lt;br /&gt;
&lt;br /&gt;
只要你的 Docker 项目是规范的（即使用 &amp;lt;code&amp;gt;docker-compose.yaml&amp;lt;/code&amp;gt; + 挂载本地目录 &amp;lt;code&amp;gt;./data&amp;lt;/code&amp;gt;），我们只需要把整个项目文件夹同步过去，然后在能在新机器上一键复活。&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 第一步：在新 VPS 上安装 Docker 环境 ==&lt;br /&gt;
在开始迁移数据前，新房子得先装修好。请在新 VPS 上安装 Docker 环境。（如果已安装可跳过）&lt;br /&gt;
 # 1. 更新系统&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y&lt;br /&gt;
 &lt;br /&gt;
 # 2. 一键安装 Docker (官方脚本)&lt;br /&gt;
 curl -fsSL &amp;lt;nowiki&amp;gt;https://get.docker.com&amp;lt;/nowiki&amp;gt; | bash&lt;br /&gt;
 &lt;br /&gt;
 # 3. 启动并开机自启&lt;br /&gt;
 systemctl start docker&lt;br /&gt;
 systemctl enable docker&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 第二步：在旧 VPS 上停止服务 ==&lt;br /&gt;
这是最重要的一步。 如果你在数据库（MySQL, Redis, PostgreSQL）运行时强行复制代码文件，极大概率会导致数据损坏。&lt;br /&gt;
&lt;br /&gt;
请进入你的 Docker 项目目录，停止容器。&lt;br /&gt;
 # 进入你的项目目录，例如 /opt/stacks/wordpress&lt;br /&gt;
 cd /opt/stacks/wordpress&lt;br /&gt;
 &lt;br /&gt;
 # 停止容器&lt;br /&gt;
 docker compose down&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;注意：如果你有多个项目，建议逐个停止，或者确保所有涉及数据库写入的容器都已停止运行。&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 第三步：使用 Rsync 同步数据 ==&lt;br /&gt;
我们将使用 Linux 下最强大的同步工具 &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt;。它比 &amp;lt;code&amp;gt;scp&amp;lt;/code&amp;gt; 更快，且能保留文件的权限、软链接和时间戳，这对于数据库文件至关重要。&lt;br /&gt;
&lt;br /&gt;
=== 1. 确保双方都安装了 rsync ===&lt;br /&gt;
在两台机器上都执行：&lt;br /&gt;
 # Debian/Ubuntu&lt;br /&gt;
 apt &amp;#039;&amp;#039;&amp;#039;install&amp;#039;&amp;#039;&amp;#039; -y rsync&lt;br /&gt;
 &lt;br /&gt;
 # CentOS&lt;br /&gt;
 yum &amp;#039;&amp;#039;&amp;#039;install&amp;#039;&amp;#039;&amp;#039; -y rsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. 执行同步命令 ===&lt;br /&gt;
假设你的 Docker 项目都存放在 &amp;lt;code&amp;gt;/opt/stacks&amp;lt;/code&amp;gt; 目录下，我们要把这个目录完整同步到新机器的相同位置。&lt;br /&gt;
&lt;br /&gt;
在旧 VPS 上执行以下命令：&lt;br /&gt;
 # 格式：rsync [选项] [源目录] [目标用户@目标IP:目标路径]&lt;br /&gt;
 # 注意：/opt/stacks/ 最后的斜杠表示同步目录下的内容，不加斜杠表示同步目录本身&lt;br /&gt;
 &lt;br /&gt;
 rsync -avzP /opt/stacks/ root@192.168.1.100:/opt/stacks/&amp;lt;/code&amp;gt;&lt;br /&gt;
参数详解：&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; (Archive)：归档模式，保留所有权限、用户组、时间戳（数据迁移必备）。&lt;br /&gt;
* &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; (Verbose)：显示详细过程。&lt;br /&gt;
* &amp;lt;code&amp;gt;-z&amp;lt;/code&amp;gt; (Compress)：传输时压缩，节省带宽。&lt;br /&gt;
* &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt; (Progress)：显示传输进度条，断点续传。&lt;br /&gt;
&lt;br /&gt;
输入新 VPS 的 root 密码后，等待传输完成。&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 第四步：迁移 Docker 镜像（可选） ==&lt;br /&gt;
如果你的镜像都是公开的（如 &amp;lt;code&amp;gt;nginx:latest&amp;lt;/code&amp;gt;），这一步可以跳过，因为在新机器启动时会自动下载。&lt;br /&gt;
&lt;br /&gt;
但如果你有自己构建的私有镜像（没有上传到 Docker Hub），或者旧机器网速慢不想重新下载，可以将镜像打包迁移。&lt;br /&gt;
&lt;br /&gt;
1. 在旧 VPS 打包镜像：&lt;br /&gt;
 # 将镜像保存为 tar 文件&lt;br /&gt;
 docker &amp;#039;&amp;#039;&amp;#039;save&amp;#039;&amp;#039;&amp;#039; -o my_custom_image.tar my_project:v1&amp;lt;/code&amp;gt;&lt;br /&gt;
2. 传输文件：&lt;br /&gt;
 rsync -avzP my_custom_image.tar root@192.168.1.100:/root/&amp;lt;/code&amp;gt;&lt;br /&gt;
3. 在新 VPS 加载镜像：&lt;br /&gt;
 docker load -&amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; /root/my_custom_image.tar&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 第五步：在新 VPS 上启动服务 ==&lt;br /&gt;
数据传完了，现在去新家“通电”。&lt;br /&gt;
&lt;br /&gt;
# SSH 登录到新 VPS。&lt;br /&gt;
# 进入项目目录。&lt;br /&gt;
&lt;br /&gt;
 cd /opt/stacks/wordpress&lt;br /&gt;
 &lt;br /&gt;
 # 检查文件是否都在&lt;br /&gt;
 ls -al&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 启动服务。&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;docker compose up -d&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 检查运行状态。&lt;br /&gt;
&lt;br /&gt;
 # 查看容器状态&lt;br /&gt;
 docker compose ps&lt;br /&gt;
 &lt;br /&gt;
 # 查看日志，确保没有报错&lt;br /&gt;
 docker compose logs -f&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 第六步：最后的收尾（DNS 解析） ==&lt;br /&gt;
如果你的服务绑定了域名（例如 &amp;lt;code&amp;gt;blog.example.com&amp;lt;/code&amp;gt;），迁移完成后，千万别忘了去你的域名服务商（Cloudflare, Namesilo 等）那里：&lt;br /&gt;
&lt;br /&gt;
# 修改 A 记录：将 IP 地址修改为新 VPS 的 IP。&lt;br /&gt;
# 等待生效：通常几分钟内生效。&lt;br /&gt;
&lt;br /&gt;
=== 常见问题排查 ===&lt;br /&gt;
Q: 启动后提示 &amp;lt;code&amp;gt;Permission denied&amp;lt;/code&amp;gt;？ A: 这通常是因为 rsync 没有加 &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; 参数，导致文件所有者变了（比如数据库文件需要特定用户权限）。 &amp;#039;&amp;#039;解决方法&amp;#039;&amp;#039;：在项目目录下查看原本数据库容器要求的权限，或者直接暴力修复（不推荐生产环境）：&amp;lt;code&amp;gt;chmod -R 777 ./data&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
Q: 新机器的网络不通？ A: 检查新 VPS 的防火墙（UFW/IPTables）是否放行了 Docker 映射的端口（如 80, 443, 8080）。&lt;br /&gt;
 # 放行常用端口示例&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;ufw&amp;#039;&amp;#039;&amp;#039; allow 80/tcp&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;ufw&amp;#039;&amp;#039;&amp;#039; allow 443/tcp&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;ufw&amp;#039;&amp;#039;&amp;#039; reload&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>James</name></author>
	</entry>
</feed>