<?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 七三的小站</title>
        <link>https://www.bg7pbp.com/tags/docker/</link>
        <description>Recent content in Docker on 七三的小站</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>WangYan</copyright>
        <lastBuildDate>Fri, 21 Mar 2025 00:00:00 +0800</lastBuildDate><atom:link href="https://www.bg7pbp.com/tags/docker/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>使用 Docker Compose 安装 Gitea</title>
        <link>https://www.bg7pbp.com/p/gitea-install-docker-compose/</link>
        <pubDate>Fri, 21 Mar 2025 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/gitea-install-docker-compose/</guid>
        <description>&lt;p&gt;Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期，他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。&lt;/p&gt;
&lt;p&gt;项目网址：&lt;a href=&#34;https://github.com/go-gitea/gitea&#34;&gt;https://github.com/go-gitea/gitea&lt;/a&gt;&lt;br&gt;
官方文档： &lt;a href=&#34;https://docs.gitea.com/zh-cn/&#34;&gt;https://docs.gitea.com/zh-cn/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#1-%E9%95%9C%E5%83%8F%E9%80%89%E6%8B%A9&#34;&gt;1. 镜像选择&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#2-%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2&#34;&gt;2. 安装部署&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#21-%E4%BD%BF%E7%94%A8-rootless-%E9%95%9C%E5%83%8F&#34;&gt;2.1. 使用 &lt;code&gt;rootless&lt;/code&gt; 镜像&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#211-%E5%88%9B%E5%BB%BA%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95&#34;&gt;2.1.1. 创建工作目录&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#212-%E5%88%9B%E5%BB%BA%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6&#34;&gt;2.1.2. 创建配置文件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#213-%E5%90%AF%E5%8A%A8%E8%BF%90%E8%A1%8C&#34;&gt;2.1.3. 启动运行&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#22-%E4%BD%BF%E7%94%A8-%E6%A0%87%E5%87%86-%E9%95%9C%E5%83%8F&#34;&gt;2.2. 使用 &lt;code&gt;标准&lt;/code&gt; 镜像&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#221-%E5%88%9B%E5%BB%BA%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95&#34;&gt;2.2.1. 创建工作目录&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#222-%E5%88%9B%E5%BB%BA%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6&#34;&gt;2.2.2. 创建配置文件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#223-%E5%90%AF%E5%8A%A8%E8%BF%90%E8%A1%8C&#34;&gt;2.2.3. 启动运行&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#3-ssh-%E5%AE%B9%E5%99%A8%E7%9B%B4%E9%80%9A&#34;&gt;3. SSH 容器直通&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#31-%E5%88%9B%E5%BB%BA-git-%E7%94%A8%E6%88%B7&#34;&gt;3.1. 创建 &lt;code&gt;git&lt;/code&gt; 用户&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#32-%E6%96%B9%E6%B3%95%E4%B8%80%E4%BD%BF%E7%94%A8-authorizedkeyscommand&#34;&gt;3.2. 方法一：使用 AuthorizedKeysCommand&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#321-docker-%E8%8E%B7%E5%8F%96-authorized_keys%E6%8E%A8%E8%8D%90&#34;&gt;3.2.1. Docker 获取 authorized_keys（推荐）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#322-ssh-%E8%8E%B7%E5%8F%96-authorized_keys%E4%BA%8C%E9%80%89%E4%B8%80&#34;&gt;3.2.2. SSH 获取 authorized_keys（二选一）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#33-%E6%96%B9%E6%B3%95%E4%BA%8C%E5%85%B1%E4%BA%AB-authorized_keys&#34;&gt;3.3. 方法二：共享 authorized_keys&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#34-%E8%BD%AC%E5%8F%91%E4%B8%BB%E6%9C%BA%E5%91%BD%E4%BB%A4%E5%88%B0%E5%AE%B9%E5%99%A8&#34;&gt;3.4. 转发主机命令到容器&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#341-%E6%96%B9%E6%B3%951shell-%E6%96%B9%E5%BC%8F%E6%8E%A8%E8%8D%90&#34;&gt;3.4.1. 方法1：shell 方式（推荐）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#342-%E6%96%B9%E6%B3%952shim-%E6%96%B9%E5%BC%8F&#34;&gt;3.4.2. 方法2：Shim 方式&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#4-gitea-actions&#34;&gt;4. Gitea Actions&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#41-act-runner&#34;&gt;4.1. Act Runner&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#411-%E4%BD%BF%E7%94%A8%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6&#34;&gt;4.1.1. 使用二进制文件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#412-%E4%BD%BF%E7%94%A8-docker-%E9%95%9C%E5%83%8F&#34;&gt;4.1.2. 使用 Docker 镜像&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#42-actions-demo&#34;&gt;4.2. Actions Demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;1-镜像选择&#34;&gt;1. 镜像选择&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Gitea&lt;/code&gt; 提供的镜像包括 &lt;code&gt;标准&lt;/code&gt; 和 &lt;code&gt;rootless&lt;/code&gt; 。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rootless&lt;/code&gt; 镜像使用 &lt;code&gt;Gitea&lt;/code&gt; 内部 SSH 功能来提供 Git 协议，不支持 &lt;code&gt;OpenSSH&lt;/code&gt;，不需要 &lt;code&gt;root&lt;/code&gt; 权限。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;strong&gt;项目&lt;/strong&gt;&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;标准镜像&lt;/strong&gt;&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;rootless 镜像&lt;/strong&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;执行用户&lt;/td&gt;
					&lt;td&gt;root&lt;/td&gt;
					&lt;td&gt;非 root&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ssh 端口&lt;/td&gt;
					&lt;td&gt;22&lt;/td&gt;
					&lt;td&gt;2222&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;git 用户与组&lt;/td&gt;
					&lt;td&gt;任意（由配置文件中指定）&lt;/td&gt;
					&lt;td&gt;1000:1000&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openssh&lt;/td&gt;
					&lt;td&gt;支持&lt;/td&gt;
					&lt;td&gt;不支持&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AppPath&lt;/td&gt;
					&lt;td&gt;/usr/local/bin/gitea&lt;/td&gt;
					&lt;td&gt;/usr/local/bin/gitea&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;WorkPath&lt;/td&gt;
					&lt;td&gt;/data/gitea&lt;/td&gt;
					&lt;td&gt;/var/lib/gitea&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;CustomPath&lt;/td&gt;
					&lt;td&gt;/data/gitea&lt;/td&gt;
					&lt;td&gt;/var/lib/gitea/custom&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ConfigFile&lt;/td&gt;
					&lt;td&gt;/data/gitea/conf/app.ini&lt;/td&gt;
					&lt;td&gt;/etc/gitea/app.ini&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;2-安装部署&#34;&gt;2. 安装部署&lt;/h2&gt;
&lt;h3 id=&#34;21-使用-rootless-镜像&#34;&gt;2.1. 使用 &lt;code&gt;rootless&lt;/code&gt; 镜像&lt;/h3&gt;
&lt;h4 id=&#34;211-创建工作目录&#34;&gt;2.1.1. 创建工作目录&lt;/h4&gt;
&lt;p&gt;docker 自动创建的目录是&lt;code&gt;root&lt;/code&gt; 权限，因此需要手动创建目录，以确保权限一致。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rootless&lt;/code&gt; 镜像内的&lt;code&gt;git&lt;/code&gt; 用户与组的id是&lt;code&gt;1000:1000&lt;/code&gt; ，所以建议主机也使用&lt;code&gt;1000:1000&lt;/code&gt; 。&lt;/p&gt;
&lt;p&gt;当然了，不一致也没关系，但需要通过&lt;code&gt;user: xxxx:xxxx&lt;/code&gt; 指定具体值。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir data config
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chown 1000:1000 data config&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;212-创建配置文件&#34;&gt;2.1.2. 创建配置文件&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;特别注意：&lt;code&gt;data&lt;/code&gt; &lt;code&gt;config&lt;/code&gt; 文件夹应由&lt;code&gt;user: xxxx:xxxx&lt;/code&gt;指定的用户所有，以确保主机能够正常访问这两个文件夹。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  server:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    image: gitea/gitea:1.21-rootless
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    container_name: gitea
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    hostname: gitea
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    restart: always
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    user: 1000:1000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - ./data:/var/lib/gitea
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - ./config:/etc/gitea
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /etc/timezone:/etc/timezone:ro
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /etc/localtime:/etc/localtime:ro
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;s2&#34;&gt;&amp;#34;0.0.0.0:3000:3000&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;s2&#34;&gt;&amp;#34;0.0.0.0:2222:2222&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;213-启动运行&#34;&gt;2.1.3. 启动运行&lt;/h4&gt;
&lt;p&gt;注意：如果在 HTTP 上使用的是非 3000 端口，请将 app.ini 更改为匹配 &lt;code&gt;LOCAL_ROOT_URL = http://localhost:3000/&lt;/code&gt;。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose logs -f&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;22-使用-标准-镜像&#34;&gt;2.2. 使用 &lt;code&gt;标准&lt;/code&gt; 镜像&lt;/h3&gt;
&lt;h4 id=&#34;221-创建工作目录&#34;&gt;2.2.1. 创建工作目录&lt;/h4&gt;
&lt;p&gt;docker 自动创建的目录是&lt;code&gt;root&lt;/code&gt; 权限，因此要手动创建目录。&lt;/p&gt;
&lt;p&gt;与 &lt;code&gt;rootless&lt;/code&gt; 镜像不同，标准镜像内的 &lt;code&gt;git&lt;/code&gt; 用户id可以通过环境变量指定，自由度更高。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir data
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chown 1000:1000 data&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;222-创建配置文件&#34;&gt;2.2.2. 创建配置文件&lt;/h4&gt;
&lt;p&gt;注意事项：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;data&lt;/code&gt; 文件夹应由 &lt;code&gt;environment&lt;/code&gt; 指定的用户所有。&lt;/li&gt;
&lt;li&gt;只需挂载一个路径 &lt;code&gt;/data&lt;/code&gt; ，相比&lt;code&gt;rootless&lt;/code&gt; 更简单&lt;/li&gt;
&lt;li&gt;支持 &lt;code&gt;openssh&lt;/code&gt; 标准 &lt;code&gt;22&lt;/code&gt; 端口&lt;/li&gt;
&lt;li&gt;特别注意：生成的 &lt;code&gt;ssh&lt;/code&gt; 文件夹是 &lt;code&gt;root&lt;/code&gt; 权限的，因此主机要有 &lt;code&gt;root&lt;/code&gt; 权限。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  server:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    image: gitea/gitea:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    container_name: gitea
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    hostname: gitea
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    restart: always
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    environment:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA___server__PROTOCOL=http&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA___server__DOMAIN=code.wangyan.cloud/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA___server__ROOT_URL=https://code.wangyan.cloud/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA___server__HTTP_ADDR=0.0.0.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA___server__HTTP_PORT=3000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA___server__SSH_DOMAIN=wangyan.cloud/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA___server__SSH_PORT=22&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA___server__LFS_START_SERVER=true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__database__DB_TYPE=mysql&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__database__HOST=127.0.0.1:3306&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__database__NAME=gitea&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__database__USER=gitea&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__database__PASSWD=123456&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__mailer__ENABLED=true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__mailer__PROTOCOL=smtp+starttls&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__mailer__SMTP_ADDR=smtp-mail.outlook.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__mailer__SMTP_PORT=587&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__mailer__FROM=&amp;#34;No-Reply&amp;#34; &amp;lt;no-reply@outlook.com&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__mailer__USER=no-reply@outlook.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# - GITEA__mailer__PASSWD=123456&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;nv&#34;&gt;USER_UID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;nv&#34;&gt;USER_GID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - ./data:/data
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /etc/timezone:/etc/timezone:ro
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /etc/localtime:/etc/localtime:ro
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;s2&#34;&gt;&amp;#34;0.0.0.0:3000:3000&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;s2&#34;&gt;&amp;#34;0.0.0.0:2222:22&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;223-启动运行&#34;&gt;2.2.3. 启动运行&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose logs -f&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;3-ssh-容器直通&#34;&gt;3. SSH 容器直通&lt;/h2&gt;
&lt;p&gt;由于 SSH 在容器内运行，如果需要 SSH 支持，则需要将 SSH 从主机传递到容器。&lt;/p&gt;
&lt;h3 id=&#34;31-创建-git-用户&#34;&gt;3.1. 创建 &lt;code&gt;git&lt;/code&gt; 用户&lt;/h3&gt;
&lt;p&gt;这里的&lt;code&gt;git&lt;/code&gt; 用户用于&lt;code&gt;ssh&lt;/code&gt; 容器透传。如果不需要 &lt;code&gt;git clone git@host:username&lt;/code&gt; 功能，可以忽略。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# uid 和 gid 也可以随机不指定。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo groupadd -g &lt;span class=&#34;m&#34;&gt;1100&lt;/span&gt; git &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo useradd -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;Git Version Control&amp;#34;&lt;/span&gt; -m -d /home/git -s /bin/bash -u &lt;span class=&#34;m&#34;&gt;1100&lt;/span&gt; -g &lt;span class=&#34;m&#34;&gt;1100&lt;/span&gt; git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 将用户添加到docker用户组&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo usermod -aG docker git&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;32-方法一使用-authorizedkeyscommand&#34;&gt;3.2. 方法一：使用 AuthorizedKeysCommand&lt;/h3&gt;
&lt;p&gt;该方法最大优点是：通过 &lt;code&gt;AuthorizedKeysCommand&lt;/code&gt; 进入容器获取&lt;code&gt;git&lt;/code&gt;用户的 &lt;code&gt;authorized_keys&lt;/code&gt;，不需要挂载主机的 &lt;code&gt;.ssh&lt;/code&gt; 目录到容器。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;客户端执行 &lt;code&gt;git clone&lt;/code&gt; 命令后，会进入容器执行 &lt;code&gt;gitea keys&lt;/code&gt; 命令，返回用户的 &lt;code&gt;authorized_keys&lt;/code&gt; 公钥信息完成认证，该信息是带有 &lt;code&gt;command=&amp;quot;/usr/local/bin/gitea&lt;/code&gt; 路径的，与容器上 &lt;code&gt;Gitea&lt;/code&gt;  二进制文件的位置匹配。&lt;/li&gt;
&lt;li&gt;通过验证后，主机 SSH 服务器为&lt;code&gt;git&lt;/code&gt;用户建立会话，并使用主机git用户的 &lt;code&gt;shell&lt;/code&gt; 执行后续命令。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;321-docker-获取-authorized_keys推荐&#34;&gt;3.2.1. Docker 获取 authorized_keys（推荐）&lt;/h4&gt;
&lt;p&gt;主机使用 &lt;code&gt;docker exec&lt;/code&gt; 方式进入容器获取 &lt;code&gt;authorized_keys&lt;/code&gt;。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# gitea 是容器名称，请根据实际修改。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 标准镜像需要加 &amp;#34;-u git&amp;#34; 指定用户，root 身份运行 docker exec 会报错。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &amp;lt;&amp;lt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;EOF&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee -a /etc/ssh/sshd_config
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Match User git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  AuthorizedKeysCommandUser git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  AuthorizedKeysCommand /usr/bin/docker &lt;span class=&#34;nb&#34;&gt;exec&lt;/span&gt; -i -u git gitea /usr/local/bin/gitea keys -e git -u %u -t %t -k %k
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl restart sshd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;322-ssh-获取-authorized_keys二选一&#34;&gt;3.2.2. SSH 获取 authorized_keys（二选一）&lt;/h4&gt;
&lt;p&gt;与&lt;code&gt;docker shell&lt;/code&gt; 基本一样，不同地方在于没有使用 &lt;code&gt;docker exec&lt;/code&gt; 进入容器，而是通过 &lt;code&gt;ssh git@127.0.0.1&lt;/code&gt; 进入容器。&lt;/p&gt;
&lt;p&gt;此方法需要将容器的 &lt;code&gt;22&lt;/code&gt; 端口映射到主机，比如映射为 &lt;code&gt;2222&lt;/code&gt;，并且主机&lt;code&gt;git&lt;/code&gt;用户要创建一个密钥对，并提前将公钥添加到容器的 &lt;code&gt;/data/git/.ssh/authorized_keys&lt;/code&gt; 目录。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &amp;lt;&amp;lt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;EOF&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee -a /etc/ssh/sshd_config
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Match User git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  AuthorizedKeysCommandUser git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  AuthorizedKeysCommand /usr/bin/ssh -p &lt;span class=&#34;m&#34;&gt;2222&lt;/span&gt; -o &lt;span class=&#34;nv&#34;&gt;StrictHostKeyChecking&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;no git@127.0.0.1 /usr/local/bin/gitea keys -e git -u %u -t %t -k %k
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl restart sshd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;33-方法二共享-authorized_keys&#34;&gt;3.3. 方法二：共享 authorized_keys&lt;/h3&gt;
&lt;p&gt;此方法是通过与容器共享 &lt;code&gt;authorized_keys&lt;/code&gt;文件的方式来进行用于认证，用于带有 &lt;code&gt;openssh&lt;/code&gt; 的标准镜像。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;为了使转发正常工作，需要将容器的 SSH 端口（22）映射到主机端口 2222。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#docker-compose.yml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - &lt;span class=&#34;s2&#34;&gt;&amp;#34;127.0.0.1:2222:22&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;接下来要使容器&lt;code&gt;git&lt;/code&gt;用户的&lt;code&gt;uid&lt;/code&gt; 和 &lt;code&gt;gid&lt;/code&gt; 与主机上的&lt;code&gt;git&lt;/code&gt;用户一致。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#docker-compose.yml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;environment:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - &lt;span class=&#34;nv&#34;&gt;USER_UID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - &lt;span class=&#34;nv&#34;&gt;USER_GID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;然后，创建主机与容器互联的密钥。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 生成 authorized_keys 文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo -u git mkdir /home/git/.ssh/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo -u git ssh-keygen -f &lt;span class=&#34;s2&#34;&gt;&amp;#34;/home/git/.ssh/idrsa&amp;#34;&lt;/span&gt; -t rsa -b &lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt; -C &lt;span class=&#34;s2&#34;&gt;&amp;#34;Gitea Host Key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo -u git &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;cat /home/git/.ssh/idrsa.pub&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /home/git/.ssh/authorized_keys
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo -u git chmod &lt;span class=&#34;m&#34;&gt;600&lt;/span&gt; /home/git/.ssh/authorized_keys&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;接下来将主机&lt;code&gt;/home/git/.ssh&lt;/code&gt;挂载到容器中。这可确保&lt;code&gt;authorized_keys&lt;/code&gt;文件在主机用户和容器之间共享。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  - /home/git/.ssh/:/data/git/.ssh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;通过 Gitea 界面添加的所有用户公钥都将有前缀 &lt;code&gt;command=&amp;quot;/usr [...]&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/home/git/.ssh/authorized_keys&lt;/code&gt;内容如下：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# SSH pubkey from git user&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh-rsa &amp;lt;Gitea Host Key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# other keys from users&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;command&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/bin/gitea --config=/data/gitea/conf/app.ini serv key-1&amp;#34;&lt;/span&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;因此，当客户端执行 &lt;code&gt;git clone&lt;/code&gt; 命令时会执行 &lt;code&gt;/usr/local/bin/gitea&lt;/code&gt; 文件。&lt;/p&gt;
&lt;h3 id=&#34;34-转发主机命令到容器&#34;&gt;3.4. 转发主机命令到容器&lt;/h3&gt;
&lt;h4 id=&#34;341-方法1shell-方式推荐&#34;&gt;3.4.1. 方法1：shell 方式（推荐）&lt;/h4&gt;
&lt;p&gt;为了能够在容器内执行命令，我们还需要修改&lt;code&gt;git&lt;/code&gt; 用户的默认&lt;code&gt;shell&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# gitea 是容器名称，请根据实际修改。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &amp;lt;&amp;lt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;EOF&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee /home/git/docker-shell
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#!/bin/sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/usr/bin/docker &lt;span class=&#34;nb&#34;&gt;exec&lt;/span&gt; -i -u git --env &lt;span class=&#34;nv&#34;&gt;SSH_ORIGINAL_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$SSH_ORIGINAL_COMMAND&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; gitea sh &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chmod +x /home/git/docker-shell
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo usermod -s /home/git/docker-shell git&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;当然，也可以使用下面SSH方式执行。（二选一）&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &amp;lt;&amp;lt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;EOF&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee /home/git/ssh-shell
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#!/bin/sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -p &lt;span class=&#34;m&#34;&gt;2222&lt;/span&gt; -o &lt;span class=&#34;nv&#34;&gt;StrictHostKeyChecking&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;no git@127.0.0.1 &lt;span class=&#34;s2&#34;&gt;&amp;#34;SSH_ORIGINAL_COMMAND=\&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$SSH_ORIGINAL_COMMAND&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;\&amp;#34; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chmod +x /home/git/ssh-shell
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo usermod -s /home/git/ssh-shell git&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;342-方法2shim-方式&#34;&gt;3.4.2. 方法2：Shim 方式&lt;/h4&gt;
&lt;p&gt;在主机创建虚假gitea可执行文件，该文件将把命令从主机转发到容器。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# gitea 是容器名称，请根据实际修改。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 与 shell 相比多了 $0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &lt;span class=&#34;s&#34;&gt;&amp;lt;&amp;lt;&amp;#39;EOF&amp;#39; | sudo tee /usr/local/bin/gitea
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;#!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;/usr/bin/docker exec -i -u git --env SSH_ORIGINAL_COMMAND=&amp;#34;$SSH_ORIGINAL_COMMAND&amp;#34; gitea sh $0 &amp;#34;$@&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chmod +x /usr/local/bin/gitea&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;当然，也可以使用下面SSH方式执行。（二选一）&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &amp;lt;&amp;lt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;EOF&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee /usr/local/bin/gitea
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#!/bin/sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -p &lt;span class=&#34;m&#34;&gt;2222&lt;/span&gt; -o &lt;span class=&#34;nv&#34;&gt;StrictHostKeyChecking&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;no git@127.0.0.1 &lt;span class=&#34;s2&#34;&gt;&amp;#34;SSH_ORIGINAL_COMMAND=\&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$SSH_ORIGINAL_COMMAND&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;\&amp;#34; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$0&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chmod +x /usr/local/bin/gitea&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;4-gitea-actions&#34;&gt;4. Gitea Actions&lt;/h2&gt;
&lt;h3 id=&#34;41-act-runner&#34;&gt;4.1. Act Runner&lt;/h3&gt;
&lt;h4 id=&#34;411-使用二进制文件&#34;&gt;4.1.1. 使用二进制文件&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 下载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://gitea.com/gitea/act_runner/releases/download/v0.2.7/act_runner-0.2.7-linux-amd64
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mv act_runner-0.2.7-linux-amd64 gitea-runner
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x gitea-runner
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./gitea-runner --version
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 导出默认配置文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./gitea-runner generate-config &amp;gt; config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 注册&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ./gitea-runner --config config.yaml register&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./gitea-runner register &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; --no-interactive &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; --instance https://codes.wangyan.cloud/ &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; --token xx &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; --name gitea-runner&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;412-使用-docker-镜像&#34;&gt;4.1.2. 使用 Docker 镜像&lt;/h4&gt;
&lt;p&gt;导出配置文件&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo docker pull gitea/act_runner:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo docker run --entrypoint&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; --rm -it gitea/act_runner:latest act_runner generate-config &amp;gt; config.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;配置 Cache&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#vim config.yaml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cache:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;enabled: &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dir: &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 使用步骤 1. 获取的 LAN IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;host: &lt;span class=&#34;s2&#34;&gt;&amp;#34;192.168.8.17&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 使用步骤 2. 获取的端口号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;port: &lt;span class=&#34;m&#34;&gt;3030&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;运行&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#vim docker-compose.yml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;version: &lt;span class=&#34;s2&#34;&gt;&amp;#34;3.8&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  services:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    runner:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    image: gitea/act_runner:nightly
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    environment:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    CONFIG_FILE: /config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    GITEA_INSTANCE_URL: &lt;span class=&#34;s2&#34;&gt;&amp;#34;http://119.29.17.197:3000&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    GITEA_RUNNER_REGISTRATION_TOKEN: &lt;span class=&#34;s2&#34;&gt;&amp;#34;xx&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    GITEA_RUNNER_NAME: &lt;span class=&#34;s2&#34;&gt;&amp;#34;gitea-runner&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - ./config.yaml:/config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - ./data:/data
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - /var/run/docker.sock:/var/run/docker.sock
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - &lt;span class=&#34;s2&#34;&gt;&amp;#34;3030:3030&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;42-actions-demo&#34;&gt;4.2. Actions Demo&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim .gitea/workflows/demo.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;yaml&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Gitea Actions Demo&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;run-name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;${{ gitea.actor }} is testing out Gitea Actions 🚀&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;l&#34;&gt;push]&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;jobs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;Explore-Gitea-Actions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;runs-on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;ubuntu-latest&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;steps&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;echo &amp;#34;🎉 The job was automatically triggered by a ${{ gitea.event_name }} event.&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;echo &amp;#34;🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;echo &amp;#34;🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}.&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Check out repository code&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;uses&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;actions/checkout@v3&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;echo &amp;#34;💡 The ${{ gitea.repository }} repository has been cloned to the runner.&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;echo &amp;#34;🖥️ The workflow is now ready to test your code on the runner.&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;List files in the repository&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;sd&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt; ls ${{ gitea.workspace }}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sd&#34;&gt; - run: echo &amp;#34;🍏 This job&amp;#39;s status is ${{ job.status }}.&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;参考文档：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.gitea.com/zh-cn/usage/actions/quickstart&#34;&gt;快速入门 | Gitea Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.gitea.com/zh-cn/installation/install-with-docker-rootless&#34;&gt;使用 Docker 安装 (rootless) | Gitea Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://support.microsoft.com/zh-cn/office/outlook-com-%E7%9A%84-pop-imap-%E5%92%8C-smtp-%E8%AE%BE%E7%BD%AE-d088b986-291d-42b8-9564-9c414e2aa040&#34;&gt;Outlook.com 的 POP、IMAP 和 SMTP 设置 - Microsoft 支持&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Docker 中安装配置 Seafile Pro</title>
        <link>https://www.bg7pbp.com/p/docker-seafile-pro-install/</link>
        <pubDate>Thu, 15 Jun 2017 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/docker-seafile-pro-install/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%80%E6%96%B0%E5%BB%BA-docker-%E5%AE%B9%E5%99%A8%E9%80%89%E5%81%9A&#34;&gt;一、新建 Docker 容器（选做）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8C%E5%AE%89%E8%A3%85-mariadb-%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%89%88&#34;&gt;二、安装 mariadb (二进制版)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%89%E5%AE%89%E8%A3%85-seafile&#34;&gt;三、安装 Seafile&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#31-%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96&#34;&gt;3.1 安装依赖&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#32-%E5%AE%89%E8%A3%85-seafile&#34;&gt;3.2 安装 seafile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#33-%E9%85%8D%E7%BD%AE-seafile&#34;&gt;3.3 配置 seafile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#34-%E5%9C%A8%E7%BA%BF%E9%A2%84%E8%A7%88&#34;&gt;3.4 在线预览&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#35-%E8%87%AA%E5%AE%9A%E4%B9%89css&#34;&gt;3.5 自定义CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#36-%E6%97%B6%E9%97%B4%E5%90%8C%E6%AD%A5&#34;&gt;3.6 时间同步&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;环境：ubuntu 16.04 (docker)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;一新建-docker-容器选做&#34;&gt;一、新建 Docker 容器（选做）&lt;/h2&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -it --name seafile &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--restart&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;always &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-v /home/seafile:/opt/seafile &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 8082:8082 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 10080:80 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 10443:443 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-d ubuntu:16.04 /bin/bash&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;更新源&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sed -i &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/archive.ubuntu.com/mirrors.aliyun.com/g&amp;#39;&lt;/span&gt; /etc/apt/sources.list &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sed -i &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/deb http:\/\/security/#deb http:\/\/security/g&amp;#39;&lt;/span&gt; /etc/apt/sources.list &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sed -i &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/deb-src http:\/\/security/#deb-src http:\/\/security/g&amp;#39;&lt;/span&gt; /etc/apt/sources.list &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;安装有用工具&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt install -y curl wget net-tools vim&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;二安装-mariadb-二进制版&#34;&gt;二、安装 mariadb (二进制版)&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;参考文档1： &lt;a href=&#34;https://www.wangyan.cloud/centos-mairadb-from-binaries/&#34;&gt;CentOS 从二进制版安装配置 Mariadb&lt;/a&gt; &lt;br&gt;
参考文档2： &lt;a href=&#34;https://www.wangyan.cloud/centos-mariadb-from-yum/&#34;&gt;CentOS 从 Yum 源安装配置 Mariadb&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;安装依赖&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt install -y libaio-dev&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;解压&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /opt/seafile/ &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar -zxf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mysql&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;新建 mysql 用户&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;groupadd mysql &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;useradd -g mysql -M -s /sbin/nologin mysql&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;安装初始化&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /usr/local/mysql &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./scripts/mysql_install_db --user&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;mysql
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chown -R root . &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chown -R mysql data&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;支持命令行运行&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PATH&lt;/span&gt;:/usr/local/mysql/bin/ &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;export PATH=$PATH:/usr/local/mysql/bin/&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; .bashrc&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;开机启动&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp support-files/mysql.server /etc/init.d/mysql &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;update-rc.d mysql defaults &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;service  mysql start&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;密码及安全设置&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/usr/local/mysql/bin/mysqladmin -u root password &lt;span class=&#34;s1&#34;&gt;&amp;#39;123456&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/usr/local/mysql/bin/mysql_secure_installation&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;解决中文乱码&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /etc/my.cnf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /etc/mysql/conf.d/mariadb.cnf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;client&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;default-character-set&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;utf8
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;mysql&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;default-character-set&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;utf8
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;mysqld&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;character-set-server  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; utf8
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;collation-server      &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; utf8_general_ci
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;character_set_server&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; utf8
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;collation_server&lt;/span&gt;      &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; utf8_general_ci
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://mariadb.com/kb/en/mariadb/installing-mariadb-deb-files/&#34;&gt;官方文档：Installing MariaDB using APT&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;三安装-seafile&#34;&gt;三、安装 Seafile&lt;/h2&gt;
&lt;h3 id=&#34;31-安装依赖&#34;&gt;3.1 安装依赖&lt;/h3&gt;
&lt;p&gt;python2.7&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install python &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install python2.7 libpython2.7 python-setuptools python-imaging &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           python-ldap python-mysqldb python-memcache python-urllib3&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;安装 JRE&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install openjdk-8-jre &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -sf /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java /usr/bin/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;安装 pdf 全文搜索依赖&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install poppler-utils&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;安装 Python 库&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;easy_install pip &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; pip install boto requests&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;32-安装-seafile&#34;&gt;3.2 安装 seafile&lt;/h3&gt;
&lt;p&gt;准备 seafile&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p seafile
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mv seafile-pro-server_* seafile
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; seafile
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar -xzf seafile-pro-server_*
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir installed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mv seafile-pro-server_* installed&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;安装 seafile&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; seafile-pro-server-* &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./setup-seafile-mysql.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Cloud
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cloud.youdomain.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/opt/seafile/seafile-data
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;8082&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;localhost
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;3306&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;seafile
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;seafile_ccnet
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;seafile_db
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;seafile_seahub&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;33-配置-seafile&#34;&gt;3.3 配置 seafile&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /opt/seafile/conf/ccnet.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;SERVICE_URL&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; https://cloud.youdomain.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /opt/seafile/conf/seahub_settings.py
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;FILE_SERVER_ROOT&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;https://cloud.youdomain.com/seafhttp&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /opt/seafile/conf/seafdav.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;WEBDAV&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;enabled&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;port&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;fastcgi&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;share_name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; /seafdav&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;运行&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /opt/seafile/seafile-server-latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./seafile.sh start &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; ./seahub.sh start-fastcgi&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;34-在线预览&#34;&gt;3.4 在线预览&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install libreoffice libreoffice-script-provider-python
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install poppler-utils&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/opt/seafile/seafile-server-latest/seafile.sh restart
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/opt/seafile/seafile-server-latest/seahub.sh stop
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/opt/seafile/seafile-server-latest/seahub.sh start-fastcgi&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;35-自定义css&#34;&gt;3.5 自定义CSS&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir /opt/seafile/seahub-data/custom
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -s /opt/seafile/seahub-data/custom /opt/seafile/seafile-server-latest/seahub/media/custom&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;36-时间同步&#34;&gt;3.6 时间同步&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /etc/localtime &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Asia/Shanghai&amp;#34;&lt;/span&gt; &amp;gt; /etc/timezone
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dpkg -l&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;grep ntp &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&amp;gt;/dev/null &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; apt-get -y install ntpdate &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PING&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; ntpdate -d cn.pool.ntp.org&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Seafile 参考文档：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://manual.seafile.com/deploy_pro/download_and_setup_seafile_professional_server.html&#34;&gt;Setup Seafile Professional Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://manual.seafile.com/deploy/using_mysql.html&#34;&gt;Deploying Seafile with MySQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://manual.seafile.com/deploy/deploy_with_nginx.html&#34;&gt;Config Seahub with Nginx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://manual.seafile.com/deploy/https_with_nginx.html&#34;&gt;Enabling Https with Nginx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://manual.seafile.com/extension/webdav.html&#34;&gt;WebDAV extension&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://manual-cn.seafile.com/&#34;&gt;Seafile服务器手册中文版&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>CentOS 安装配置 Docker 和 Docker Compose</title>
        <link>https://www.bg7pbp.com/p/centos-install-docker/</link>
        <pubDate>Sun, 15 Jan 2017 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/centos-install-docker/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%80%E5%AE%89%E8%A3%85-docker-engine&#34;&gt;一、安装 Docker Engine&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#1%E6%9B%B4%E6%96%B0&#34;&gt;1.更新&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#2%E6%B7%BB%E5%8A%A0yum%E6%BA%90&#34;&gt;2.添加YUM源&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#3%E5%AE%89%E8%A3%85-docker-engine&#34;&gt;3.安装 Docker Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#4%E5%BC%80%E5%90%AF%E6%9C%8D%E5%8A%A1&#34;&gt;4.开启服务&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#5%E5%90%AF%E5%8A%A8&#34;&gt;5.启动&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#6docker-%E7%94%A8%E6%88%B7%E7%BB%84&#34;&gt;6.docker 用户组&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8C%E5%AE%89%E8%A3%85-docker-compose&#34;&gt;二、安装 docker-compose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%89%E9%85%8D%E7%BD%AE-docker-%E5%8A%A0%E9%80%9F%E5%99%A8&#34;&gt;三、配置 Docker 加速器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%9B%9B%E9%85%8D%E7%BD%AE-docker-ssh-%E5%B7%A5%E5%85%B7&#34;&gt;四、配置 docker-ssh 工具&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%94volume-%E6%8F%92%E4%BB%B6&#34;&gt;五、volume 插件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%85%AD%E5%AE%B9%E5%99%A8%E5%A4%87%E4%BB%BD&#34;&gt;六、容器备份&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;一安装-docker-engine&#34;&gt;一、安装 Docker Engine&lt;/h2&gt;
&lt;h3 id=&#34;1更新&#34;&gt;1.更新&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;2添加yum源&#34;&gt;2.添加YUM源&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tee /etc/yum.repos.d/docker.repo &lt;span class=&#34;s&#34;&gt;&amp;lt;&amp;lt;-&amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;[dockerrepo]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;name=Docker Repository
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;baseurl=https://yum.dockerproject.org/repo/main/centos/7/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;enabled=1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;gpgcheck=1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;gpgkey=https://yum.dockerproject.org/gpg
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;EOF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;3安装-docker-engine&#34;&gt;3.安装 Docker Engine&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.docker.com/engine/installation/linux/centos/&#34;&gt;https://docs.docker.com/engine/installation/linux/centos/&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum install -y docker-engine&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;4开启服务&#34;&gt;4.开启服务&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; docker.service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;5启动&#34;&gt;5.启动&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl start docker&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;6docker-用户组&#34;&gt;6.docker 用户组&lt;/h3&gt;
&lt;p&gt;docker 运行需要ROOT权限，其他用户运行docker命令需要使用sudo。因此需要创建非root用户添加到docker组&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;groupadd docker
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;usermod -aG docker dmfy&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;二安装-docker-compose&#34;&gt;二、安装 docker-compose&lt;/h2&gt;
&lt;p&gt;via &lt;a href=&#34;https://docs.docker.com/compose/compose-file/&#34;&gt;https://docs.docker.com/compose/compose-file/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;国外主机&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;uname -s&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;-&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;uname -m&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; &amp;gt; /usr/local/bin/docker-compose &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x /usr/bin/docker-compose&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;国内主机&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L https://get.daocloud.io/docker/compose/releases/download/1.9.0/docker-compose-&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;uname -s&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;-&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;uname -m&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; &amp;gt; /usr/bin/docker-compose &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x /usr/bin/docker-compose&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;查看版本&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker-compose --version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;三配置-docker-加速器&#34;&gt;三、配置 Docker 加速器&lt;/h2&gt;
&lt;p&gt;阿里云加速（推荐）&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p /etc/docker
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tee /etc/docker/daemon.json &lt;span class=&#34;s&#34;&gt;&amp;lt;&amp;lt;-&amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;  &amp;#34;registry-mirrors&amp;#34;: [&amp;#34;https://rvg03xpp.mirror.aliyuncs.com&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;EOF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;重启&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart docker&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Daocloud 加速&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -sSL https://get.daocloud.io/daotools/set_mirror.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh -s http://56c3a7e7.m.daocloud.io
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart docker&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;四配置-docker-ssh-工具&#34;&gt;四、配置 docker-ssh 工具&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/phusion/baseimage-docker&#34;&gt;https://github.com/phusion/baseimage-docker&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --fail -L -O https://github.com/phusion/baseimage-docker/archive/master.tar.gz &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar xzf master.tar.gz &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ./baseimage-docker-master/install-tools.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;工具二：docker-ssh&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/jpetazzo/nsenter/blob/master/docker-enter&#34;&gt;https://github.com/jpetazzo/nsenter/blob/master/docker-enter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;下载配置文件：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;http://files.wangyan.org/conf/bashrc-docker.zip&#34;&gt;http://files.wangyan.org/conf/bashrc-docker.zip&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Source docker-ssh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; -f ~/.bashrc_docker &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        . ~/.bashrc_docker
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;五volume-插件&#34;&gt;五、volume 插件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.docker.com/engine/extend/legacy_plugins/&#34;&gt;https://docs.docker.com/engine/extend/legacy_plugins/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/rancher/convoy&#34;&gt;https://github.com/rancher/convoy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;六容器备份&#34;&gt;六、容器备份&lt;/h2&gt;
&lt;p&gt;提交镜像&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker commit -p 35d86f745776 dmfy-mariadb-20170321&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;保存镜像&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker save dmfy-mariadb-20170321 &amp;gt; ~/dmfy-mariadb-20170321&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;载入镜像&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker load -i ~/dmfy-mariadb-20170321&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;方法二：&lt;/p&gt;
&lt;p&gt;导出容器&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; 70fbab60962d &amp;gt; ~/seafile-container-20160811.tar&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;导入容器为一个镜像&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat ~/seafile-container-20160811.tar &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; docker import - seafile:latest &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
</description>
        </item>
        <item>
        <title>Docker volume 数据卷</title>
        <link>https://www.bg7pbp.com/p/docker-volume/</link>
        <pubDate>Thu, 08 Sep 2016 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/docker-volume/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%80%E5%88%9B%E5%BB%BA%E6%95%B0%E6%8D%AE%E5%8D%B7%E5%AE%B9%E5%99%A8&#34;&gt;一、创建数据卷容器&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%B9%E6%B3%95%E4%B8%80%E6%95%B0%E6%8D%AE%E5%8D%B7dbdata&#34;&gt;方法一（数据卷&lt;code&gt;/dbdata&lt;/code&gt;)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%B9%E6%B3%95%E4%BA%8C%E5%AE%B9%E5%99%A8%E4%B8%8D%E8%BF%90%E8%A1%8C&#34;&gt;方法二(容器不运行)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%B9%E6%B3%95%E4%B8%89%E6%98%A0%E5%B0%84%E6%9C%AC%E5%9C%B0%E6%96%87%E4%BB%B6&#34;&gt;方法三（映射本地文件）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%B9%E6%B3%95%E5%9B%9B%E6%8E%A8%E8%8D%90&#34;&gt;方法四（推荐）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8C%E6%8C%82%E8%BD%BD%E6%95%B0%E6%8D%AE%E5%8D%B7%E5%AE%B9%E5%99%A8&#34;&gt;二、挂载数据卷容器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%89%E5%A4%87%E4%BB%BD%E6%95%B0%E6%8D%AE%E5%8D%B7%E4%B8%AD%E7%9A%84%E5%86%85%E5%AE%B9&#34;&gt;三、备份数据卷中的内容&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%9B%9B%E5%A4%8D%E5%88%B6%E6%96%87%E4%BB%B6%E5%88%B0%E6%95%B0%E6%8D%AE%E5%8D%B7&#34;&gt;四、复制文件到数据卷&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%94%E6%95%B0%E6%8D%AE%E5%8D%B7%E6%8F%92%E4%BB%B6&#34;&gt;五、数据卷插件&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;一创建数据卷容器&#34;&gt;一、创建数据卷容器&lt;/h2&gt;
&lt;h3 id=&#34;方法一数据卷dbdata&#34;&gt;方法一（数据卷&lt;code&gt;/dbdata&lt;/code&gt;)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;docker run -it -v /dbdata --name dbstore ubuntu /bin/bash
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;方法二容器不运行&#34;&gt;方法二(容器不运行)&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;docker create -v /dbdata --name dbstore ubuntu /bin/bash
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;方法三映射本地文件&#34;&gt;方法三（映射本地文件）&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;docker run -it -v $(pwd):/dbdata --name dbstore ubuntu /bin/bash
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;方法四推荐&#34;&gt;方法四（推荐）&lt;/h3&gt;
&lt;p&gt;创建数据卷&lt;code&gt;dbdata&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker volume create --name dbdata
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;创建数据卷容器&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker run -it -v dbdata:/dbdata --name dbstore ubuntu /bin/bash
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;删除&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker volume rm dbstore
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查看&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker volume ls
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;二挂载数据卷容器&#34;&gt;二、挂载数据卷容器&lt;/h2&gt;
&lt;p&gt;将上面创建的&lt;code&gt;dbstore&lt;/code&gt;容器挂载到新容器&lt;code&gt;dbstore2&lt;/code&gt;上面&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker run -it --volumes-from dbstore --name dbstore2 ubuntu /bin/bash
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt; 删除容器不会删除数据卷，但是。。如果删除了数据卷容器后，要找到无主的数据卷就稍有点麻烦了。&lt;/p&gt;
&lt;p&gt;通过下面命令找回数据卷&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker volume ls #列出全部数据卷
docker run -it -v xxxx:/dbdata --name dbstore ubuntu /bin/bash #创建数据卷容器
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;三备份数据卷中的内容&#34;&gt;三、备份数据卷中的内容&lt;/h2&gt;
&lt;p&gt;备份数据卷容器&lt;code&gt;dbstore&lt;/code&gt;中的数据卷&lt;code&gt;/dbdata&lt;/code&gt;内容。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;启动一个临时容器，挂载&lt;code&gt;dbstore&lt;/code&gt;容器的数据卷。&lt;/li&gt;
&lt;li&gt;将当前目录挂载到这个临时容器的&lt;code&gt;/backup&lt;/code&gt;目录&lt;/li&gt;
&lt;li&gt;最后将dbstore容器中的数据卷&lt;code&gt;/dbdata&lt;/code&gt;备份到&lt;code&gt;/backup&lt;/code&gt;（即当前目录）&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;四复制文件到数据卷&#34;&gt;四、复制文件到数据卷&lt;/h2&gt;
&lt;p&gt;将宿主机的文件复制到数据卷(/dbdata)中&lt;/p&gt;
&lt;p&gt;首先新建一个数据卷（数据卷在卷容器dbstore中）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ docker run -itd -v /dbdata --name dbstore ubuntu /bin/bash
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后新建一个临时容器，挂载刚才创建的数据卷容器(dbstore)
接着将当前目录映射为这个临时容器的/backup目录最后，将当前目录下的backup.tar解压到数据卷(/dbdata)中&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu bash -c &amp;quot;cd /dbdata &amp;amp;&amp;amp; tar xvf /backup/backup.tar --strip 1
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;五数据卷插件&#34;&gt;五、数据卷插件&lt;/h2&gt;
&lt;p&gt;所有可用插件：&lt;a href=&#34;https://docs.docker.com/engine/extend/plugins/&#34;&gt;https://docs.docker.com/engine/extend/plugins/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.clusterhq.com/en/latest/docker-integration/install-client.html#installing-on-other-linux-distributions&#34;&gt;Flocker 插件安装&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;其他：略&lt;/p&gt;
&lt;p&gt;参考文档：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.docker.com/engine/tutorials/dockervolumes/&#34;&gt;https://docs.docker.com/engine/tutorials/dockervolumes/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.dockerinfo.net/406.html&#34;&gt;http://www.dockerinfo.net/406.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Docker image for lnmp</title>
        <link>https://www.bg7pbp.com/p/docker-lnmp-image/</link>
        <pubDate>Sun, 04 Sep 2016 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/docker-lnmp-image/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%A1%B9%E7%9B%AE%E5%9C%B0%E5%9D%80&#34;&gt;项目地址&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%80%E5%AE%89%E8%A3%85%E5%89%8D%E5%87%86%E5%A4%87&#34;&gt;一、安装前准备&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8C%E5%AE%89%E8%A3%85-lnmp&#34;&gt;二、安装 LNMP&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#21-docker-compose&#34;&gt;2.1 docker-compose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#22-%E8%BF%90%E8%A1%8C-docker-compose&#34;&gt;2.2 运行 docker-compose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#23-nginx%E7%AB%99%E7%82%B9%E9%85%8D%E7%BD%AE&#34;&gt;2.3 nginx站点配置&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%89%E4%BA%86%E8%A7%A3%E6%9B%B4%E5%A4%9A&#34;&gt;三、了解更多&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;基于 &lt;code&gt;Ubuntu 16.04&lt;/code&gt; 构建，一键自动安装最新版的 &lt;code&gt;php7&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;项目地址&#34;&gt;项目地址&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;GitHub ：&lt;/strong&gt; &lt;a href=&#34;https://github.com/wangyan/docker-lnmp&#34;&gt;https://github.com/wangyan/docker-lnmp&lt;/a&gt;
&lt;strong&gt;国内镜像：&lt;/strong&gt; &lt;a href=&#34;https://git.wangyan.org/docker/lnmp&#34;&gt;https://git.wangyan.org/docker/lnmp&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;1.0&lt;/code&gt; 分支为&lt;code&gt;PHP5.6&lt;/code&gt;版本(不再维护)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;2.0&lt;/code&gt; 分支是&lt;code&gt;PHP7&lt;/code&gt;版本&lt;/li&gt;
&lt;li&gt;&lt;code&gt;3.0&lt;/code&gt; 主分支(master)使用&lt;code&gt;docker-compose&lt;/code&gt;编排&lt;code&gt;MySQL&lt;/code&gt;，&lt;code&gt;nginx+phpfpm&lt;/code&gt;两个独立容器。（推荐）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;develop&lt;/code&gt; 分支编排&lt;code&gt;nginx&lt;/code&gt;,&lt;code&gt;phpfpm&lt;/code&gt;,&lt;code&gt;mysql&lt;/code&gt;三个独立容器。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;alpine&lt;/code&gt;分支使用&lt;code&gt;alpine&lt;/code&gt;镜像编排三个独立容器。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Ubuntu 14.04 + nginx 1.x + php5.6/7.0 + MySQL 5.7.x&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;一安装前准备&#34;&gt;一、安装前准备&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.docker.com/installation&#34;&gt;docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.docker.com/compose/install&#34;&gt;docker compose&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;二安装-lnmp&#34;&gt;二、安装 LNMP&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;vim docker-compose.yml&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;21-docker-compose&#34;&gt;2.1 docker-compose&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;version: &lt;span class=&#34;s1&#34;&gt;&amp;#39;2&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    mysql:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        container_name: mysql
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        image: mysql:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        environment:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - &lt;span class=&#34;nv&#34;&gt;MYSQL_ROOT_PASSWORD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;123456&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - /opt/lnmp/mysql_data:/var/lib/mysql
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        restart: always
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    phpfpm:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        container_name: phpfpm
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        image: docker.wangyan.org/docker/php:alpine
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - &lt;span class=&#34;s2&#34;&gt;&amp;#34;9000:9000&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        links:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - mysql
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - /opt/lnmp/public_html:/var/www/html
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        restart: always
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    nginx:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        container_name: nginx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        image: docker.wangyan.org/docker/nginx:alpine
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - &lt;span class=&#34;s2&#34;&gt;&amp;#34;80:80&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - &lt;span class=&#34;s2&#34;&gt;&amp;#34;443:443&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        links:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - phpfpm
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - /opt/lnmp/public_html:/var/www/html
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            - /opt/lnmp/nginx_sites:/etc/nginx/sites-enabled
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        restart: always&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;参数说明：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MYSQL_ROOT_PASSWORD&lt;/code&gt;: 将&lt;code&gt;123456&lt;/code&gt;换成你的MySQL Root密码&lt;/li&gt;
&lt;li&gt;&lt;code&gt;volumes&lt;/code&gt;: 挂载左边是宿主机路径，右边是容器里的路径&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;22-运行-docker-compose&#34;&gt;2.2 运行 docker-compose&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker-compose up -d&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;23-nginx站点配置&#34;&gt;2.3 nginx站点配置&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;vim /opt/lnmp/nginx_sites&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;text&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;server { 
    listen 80; 
    server_name example.com;

    root /var/www/html; 
    index index.html index.php; 

    location ~ .*\.php$ { 
        fastcgi_split_path_info ^(.&amp;#43;\.php)(/.&amp;#43;)$; 
        fastcgi_pass phpfpm:9000; 
        fastcgi_index index.php; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        include fastcgi_params; 
    }

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;重启 nginx&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker-compose restart nginx&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;或者进入nginx容器后执行 &lt;code&gt;sv restart nginx&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;三了解更多&#34;&gt;三、了解更多&lt;/h2&gt;
&lt;p&gt;关于&lt;code&gt;lnmp&lt;/code&gt;更多信息，请访问&lt;code&gt;lnmp&lt;/code&gt;主页。&lt;a href=&#34;http://www.wangyan.cloud/docker-lnmp&#34;&gt;http://www.wangyan.cloud/docker-lnmp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;更多使用帮助请阅读&lt;code&gt;wiki&lt;/code&gt;，其他问题欢迎在&lt;code&gt;issues&lt;/code&gt;中反馈。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Hexo 一键安装自动部署</title>
        <link>https://www.bg7pbp.com/p/docker-hexo-autodeploy/</link>
        <pubDate>Sun, 04 Sep 2016 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/docker-hexo-autodeploy/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%80%E5%86%99%E4%BD%9C%E6%B5%81%E7%A8%8B&#34;&gt;一、写作流程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8C%E5%AE%89%E8%A3%85-docker&#34;&gt;二、安装 Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%89%E5%AE%89%E8%A3%85-hexo&#34;&gt;三、安装 Hexo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%9B%9B%E9%85%8D%E7%BD%AE-webhook&#34;&gt;四、配置 webhook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%94hexo-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4&#34;&gt;五、Hexo 常用命令&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#51-%E5%AE%89%E8%A3%85hexo&#34;&gt;5.1 安装Hexo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#52-%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E5%99%A8&#34;&gt;5.2 启动服务器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#53-%E5%86%99%E4%BD%9C&#34;&gt;5.3 写作&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#new%E5%91%BD%E4%BB%A4&#34;&gt;new命令&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%87%AA%E5%AE%9A%E4%B9%89%E6%96%87%E7%AB%A0%E4%BF%A1%E6%81%AF&#34;&gt;自定义文章信息&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#54-%E7%94%9F%E6%88%90%E9%9D%99%E6%80%81%E6%96%87%E4%BB%B6&#34;&gt;5.4 生成静态文件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#55-%E9%83%A8%E7%BD%B2%E9%80%89%E5%81%9A&#34;&gt;5.5 部署（选做）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#56-%E5%B8%B8%E7%94%A8%E7%AE%80%E5%86%99&#34;&gt;5.6 常用简写&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%85%AD%E4%BA%86%E8%A7%A3%E6%9B%B4%E5%A4%9A&#34;&gt;六、了解更多&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;基于 &lt;code&gt;Ubuntu 16.04&lt;/code&gt;、NodeJs: &lt;code&gt;v6.x&lt;/code&gt;、Nginx &lt;code&gt;1.10.x&lt;/code&gt; 构建，一键自动安装最新版的 &lt;code&gt;Hexo&lt;/code&gt;，无需手动操作(&lt;code&gt;hexo g&lt;/code&gt;)生成静态文件。&lt;/p&gt;
&lt;p&gt;** 项目地址 **&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;GitHub：&lt;/strong&gt; &lt;a href=&#34;https://github.com/wangyan/docker-hexo&#34;&gt;https://github.com/wangyan/docker-hexo&lt;/a&gt;
&lt;strong&gt;国内镜像：&lt;/strong&gt; &lt;a href=&#34;https://git.wangyan.org/root/docker-hexo&#34;&gt;https://git.wangyan.org/root/docker-hexo&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;一写作流程&#34;&gt;一、写作流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;首先在Github或者GitLab上编辑文章（或者本地&lt;code&gt;git push&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;然后会触发&lt;code&gt;webhook&lt;/code&gt;，自动将git上的md文件拉取到 &lt;code&gt;/opt/hexo/source/_posts&lt;/code&gt; 文件夹&lt;/li&gt;
&lt;li&gt;接着自动执行&lt;code&gt;hexo g&lt;/code&gt;操作，生成静态文件。&lt;/li&gt;
&lt;li&gt;最后通过网址访问，结束。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;二安装-docker&#34;&gt;二、安装 Docker&lt;/h2&gt;
&lt;p&gt;关于Docker 更多信息，请访问其官网。&lt;a href=&#34;https://docs.docker.com&#34;&gt;https://docs.docker.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;debian&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install curl &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://get.daocloud.io/docker &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;update-rc.d -f docker defaults &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;service docker start&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;CentOS&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://get.docker.com/ &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; docker.service &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl start docker.service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;三安装-hexo&#34;&gt;三、安装 Hexo&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;IP_OR_DOMAIN&lt;/code&gt; 服务器IP或者域名&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GITHUB&lt;/code&gt; github自动发布地址（Gitlab 请使用 &lt;code&gt;-e GITLAB=http://xxx&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WEBHOOK_SECRET&lt;/code&gt;  github webhook 密钥 （GitLab 不支持该选项）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;APT_MIRRORS&lt;/code&gt; 使用国内软件源&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;国内主机可将 &lt;code&gt;idiswy/hexo:latest&lt;/code&gt; 换成 &lt;code&gt;docker.wangyan.org/root/docker-hexo:latest&lt;/code&gt;
国内主机可用 &lt;code&gt;-e APT_MIRRORS=aliyun&lt;/code&gt; 选项，使用国内的镜像源。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --name hexo &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-v /opt/hexo:/opt/hexo &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 80:80 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;IP_OR_DOMAIN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;wangyan.org &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;GITHUB&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;https://github.com/wangyan/test.git &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;WEBHOOK_SECRET&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;123456&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;APT_MIRRORS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;aliyun &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-d idiswy/hexo:latest&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;安装可能需要30秒左右，通过下面方法查看安装进度。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker logs -f hexo //查看安装进度&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;四配置-webhook&#34;&gt;四、配置 webhook&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;注意将&lt;code&gt;youdomain&lt;/code&gt;替换成你的网站域名，secret密钥可以随便设置&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/idiswy/docker-hexo/master/docs/images/webhook.jpg&#34; alt=&#34;https://raw.githubusercontent.com/idiswy/docker-hexo/master/docs/images/webhook.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;五hexo-常用命令&#34;&gt;五、Hexo 常用命令&lt;/h2&gt;
&lt;h3 id=&#34;51-安装hexo&#34;&gt;5.1 安装Hexo&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install hexo -g &lt;span class=&#34;c1&#34;&gt;#全局安装hexo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm update hexo -g &lt;span class=&#34;c1&#34;&gt;#升级hexo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo init &lt;span class=&#34;c1&#34;&gt;#初始化,新建一个网站&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;了解更多：&lt;a href=&#34;https://hexo.io/zh-cn/docs/index.html&#34;&gt;https://hexo.io/zh-cn/docs/index.html&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;52-启动服务器&#34;&gt;5.2 启动服务器&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo server &lt;span class=&#34;c1&#34;&gt;# 启动web服务器（默认端口4000，&amp;#39;ctrl + c&amp;#39;关闭）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo server -s &lt;span class=&#34;c1&#34;&gt;#静态模式&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo server -p &lt;span class=&#34;m&#34;&gt;5000&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#启动时，自定义端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo server -i 192.168.1.1 &lt;span class=&#34;c1&#34;&gt;#启动时，自定义 IP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;了解更多：&lt;a href=&#34;https://hexo.io/zh-cn/docs/server.html&#34;&gt;https://hexo.io/zh-cn/docs/server.html&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;53-写作&#34;&gt;5.3 写作&lt;/h3&gt;
&lt;h4 id=&#34;new命令&#34;&gt;new命令&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo new &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;layout&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &amp;lt;title&amp;gt; &lt;span class=&#34;c1&#34;&gt;#新建&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# layout对应三种布局：post、page、draft，默认为post&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo new &lt;span class=&#34;s2&#34;&gt;&amp;#34;postName&amp;#34;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#新建文章&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo new page &lt;span class=&#34;s2&#34;&gt;&amp;#34;pageName&amp;#34;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#新建页面&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo new draft &lt;span class=&#34;s2&#34;&gt;&amp;#34;draftName&amp;#34;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#新建草稿&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;自定义文章信息&#34;&gt;自定义文章信息&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;title: 文章标题
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;layout: post （可选）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;date: 2016-01-01 00:00
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;comments: true（可选）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;categories: 技术札记（可选）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tag:  标签（可选）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- tag1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- tag2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;keywords: 关键词（可选）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;description:描述（可选）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;####设置文章摘要&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;以上是文章摘要 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;以下是余下全文&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;54-生成静态文件&#34;&gt;5.4 生成静态文件&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo generate &lt;span class=&#34;c1&#34;&gt;#生成静态页面至public目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo generate --watch &lt;span class=&#34;c1&#34;&gt;#生成静态页面，同时监视文件变动&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;了解更多：&lt;a href=&#34;https://hexo.io/zh-cn/docs/writing.html&#34;&gt;https://hexo.io/zh-cn/docs/writing.html&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;55-部署选做&#34;&gt;5.5 部署（选做）&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo deploy &lt;span class=&#34;c1&#34;&gt;#部署到远程服务器&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo generate --deploy &lt;span class=&#34;c1&#34;&gt;#生成静态页面后自动部署&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;了解更多：&lt;a href=&#34;https://hexo.io/zh-cn/docs/deployment.html&#34;&gt;https://hexo.io/zh-cn/docs/deployment.html&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;56-常用简写&#34;&gt;5.6 常用简写&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo n &lt;span class=&#34;s2&#34;&gt;&amp;#34;hello world&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; hexo new &lt;span class=&#34;s2&#34;&gt;&amp;#34;hello&amp;#34;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#新建文章hello world&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo &lt;span class=&#34;nv&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; hexo publish &lt;span class=&#34;c1&#34;&gt;#将草稿发布为这正式文章&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo &lt;span class=&#34;nv&#34;&gt;g&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; hexo generate &lt;span class=&#34;c1&#34;&gt;#生成静态文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo &lt;span class=&#34;nv&#34;&gt;s&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; hexo server &lt;span class=&#34;c1&#34;&gt;#启动服务器&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hexo &lt;span class=&#34;nv&#34;&gt;d&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; hexo deploy &lt;span class=&#34;c1&#34;&gt;#部署&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;了解更多Hexo命令：&lt;a href=&#34;https://hexo.io/zh-cn/docs/commands.html&#34;&gt;https://hexo.io/zh-cn/docs/commands.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;六了解更多&#34;&gt;六、了解更多&lt;/h2&gt;
&lt;p&gt;关于&lt;code&gt;Hexo&lt;/code&gt;更多信息，请访问其官网。&lt;a href=&#34;https://hexo.io&#34;&gt;https://hexo.io&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;更多使用帮助请阅读&lt;code&gt;wiki&lt;/code&gt;，其他问题欢迎在&lt;code&gt;issues&lt;/code&gt;中反馈。&lt;/p&gt;</description>
        </item>
        <item>
        <title>Docker image for Seafile</title>
        <link>https://www.bg7pbp.com/p/docker-seafile-image/</link>
        <pubDate>Fri, 29 Jul 2016 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/docker-seafile-image/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%80%E5%AE%89%E8%A3%85-docker&#34;&gt;一、安装 Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8C%E5%AE%89%E8%A3%85-mysql-%E6%95%B0%E6%8D%AE%E5%BA%93&#34;&gt;二、安装 MySQL 数据库&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%89%E5%AE%89%E8%A3%85-phpmyadmin-%E5%8F%AF%E9%80%89&#34;&gt;三、安装 phpMyAdmin (可选)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%9B%9B%E5%AE%89%E8%A3%85-seafile-%E5%A4%96%E9%83%A8%E6%95%B0%E6%8D%AE%E5%BA%93&#34;&gt;四、安装 Seafile （外部数据库）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%94%E5%AE%89%E8%A3%85-seafile-%E5%86%85%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93&#34;&gt;五、安装 Seafile （内置数据库）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%85%AD%E5%B8%B8%E8%A7%81%E6%93%8D%E4%BD%9C&#34;&gt;六、常见操作&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#61-%E8%BF%9B%E5%85%A5%E5%AE%B9%E5%99%A8&#34;&gt;6.1 进入容器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#62-%E9%87%8D%E5%90%AF%E6%93%8D%E4%BD%9C&#34;&gt;6.2 重启操作&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%83%E7%B3%BB%E7%BB%9F%E8%AE%BE%E7%BD%AE%E5%8F%AF%E9%80%89&#34;&gt;七、系统设置(可选)&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#61-%E8%A7%A3%E5%86%B3debian%E6%9C%AC%E5%9C%B0%E5%8C%96%E9%97%AE%E9%A2%98&#34;&gt;6.1. 解决Debian本地化问题&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#72%E8%AE%BE%E7%BD%AE%E4%B8%AD%E5%9B%BD%E6%97%B6%E5%8C%BA&#34;&gt;7.2.设置中国时区&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#73%E5%AE%89%E8%A3%85-fuse-%E6%89%A9%E5%B1%95&#34;&gt;7.3.安装 FUSE 扩展&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%85%AB%E4%BA%86%E8%A7%A3%E6%9B%B4%E5%A4%9A&#34;&gt;八、了解更多&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;基于 &lt;code&gt;Ubuntu 16.04&lt;/code&gt; 构建的 &lt;code&gt;Docker&lt;/code&gt; 镜像，一键自动安装最新版的 &lt;code&gt;Seafile&lt;/code&gt;，并自动完成设置，使用外部&lt;code&gt;MySQL&lt;/code&gt;数据库，支持 &lt;code&gt;Nginx SSL&lt;/code&gt; 访问，默认开启 &lt;code&gt;WebDAV&lt;/code&gt; 功能。了解更多信息，请访问&lt;code&gt;Seafile&lt;/code&gt; 官网。&lt;a href=&#34;https://www.seafile.com&#34;&gt;https://www.seafile.com&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;演示地址：&lt;a href=&#34;https://cloud.wangyan.org&#34;&gt;https://cloud.wangyan.org&lt;/a&gt;
账号：info@wangyan.org
密码：123456&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/d/docker-seafile.jpg&#34; alt=&#34;https://img.cdn.wangyan.cloud/d/docker-seafile.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;一安装-docker&#34;&gt;一、安装 Docker&lt;/h2&gt;
&lt;p&gt;关于Docker 更多信息，请访问其官网。&lt;a href=&#34;https://docs.docker.com&#34;&gt;https://docs.docker.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;debian&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install curl &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://get.daocloud.io/docker &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;update-rc.d -f docker defaults &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;service docker start&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;CentOS&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://get.docker.com/ &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; docker.service &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl start docker.service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;二安装-mysql-数据库&#34;&gt;二、安装 MySQL 数据库&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;如果你想使用内置的数据库，请忽略步骤(二)(三)(四)，直接跳到步骤(五)&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注意将&lt;code&gt;123456&lt;/code&gt;换成你的MySQL Root密码&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --name mysql &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-v /var/lib/mysql:/var/lib/mysql &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;MYSQL_ROOT_PASSWORD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;123456&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 3306:3306 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-d mysql:latest&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;三安装-phpmyadmin-可选&#34;&gt;三、安装 phpMyAdmin (可选)&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;**温馨提示：**国内主机请将 &lt;code&gt;idiswy/phpmyadmin:latest&lt;/code&gt; 换成 &lt;code&gt;docker.wangyan.org/root/docker-phpmyadmin:latest&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --name phpmyadmin &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--link mysql:mysql &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 8080:80 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-P -d idiswy/phpmyadmin:latest&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;四安装-seafile-外部数据库&#34;&gt;四、安装 Seafile （外部数据库）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;IP_OR_DOMAIN&lt;/code&gt; 服务器IP或者域名&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SEAFILE_ADMIN&lt;/code&gt; 创建 Seafile 管理员账号&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SEAFILE_ADMIN_PW&lt;/code&gt;  Seafile 管理员密码&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SQLSEAFILEPW&lt;/code&gt; Seafile 数据库密码&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;注意：如果有防火墙，请务必开放8082端口，用于客户端同步。国内主机请将 &lt;code&gt;idiswy/seafile:latest&lt;/code&gt; 换成 &lt;code&gt;docker.wangyan.org/root/docker-seafile:latest&lt;/code&gt;
国内主机可增加&lt;code&gt;-e APT_MIRRORS=aliyun&lt;/code&gt; 选项，使用国内的镜像源。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --name seafile &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--link mysql:mysql &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 8082:8082 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 80:80 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 443:443 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;IP_OR_DOMAIN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;cloud.wangyan.org &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;SEAFILE_ADMIN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;info@wangyan.org &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;SEAFILE_ADMIN_PW&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;123456&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;SQLSEAFILEPW&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;123456&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-v /home/seafile:/opt/seafile &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-d idiswy/seafile&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;安装可能需要 1 分钟左右，通过下面方法查看安装进度。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker logs -f seafile //查看安装进度&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;五安装-seafile-内置数据库&#34;&gt;五、安装 Seafile （内置数据库）&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;如果你想使用外部数据库，请返回到步骤（二）安装&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MYSQL_ROOT_PASSWORD&lt;/code&gt; MySQL Root 密码&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IP_OR_DOMAIN&lt;/code&gt; 服务器IP或者域名&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SEAFILE_ADMIN&lt;/code&gt; 创建 Seafile 管理员账号&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SEAFILE_ADMIN_PW&lt;/code&gt;  Seafile 管理员密码&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SQLSEAFILEPW&lt;/code&gt; Seafile 数据库密码&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;注意：如果有防火墙，请务必开放8082端口，用于客户端同步。国内主机请将 &lt;code&gt;idiswy/seafile:latest&lt;/code&gt; 换成 &lt;code&gt;docker.wangyan.org/root/docker-seafile:latest&lt;/code&gt;
国内主机可增加&lt;code&gt;-e APT_MIRRORS=aliyun&lt;/code&gt; 选项，使用国内的镜像源。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --name seafile &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 8082:8082 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 80:80 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 443:443 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;MYSQL_ROOT_PASSWORD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;123456&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;IP_OR_DOMAIN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;cloud.wangyan.org &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;SEAFILE_ADMIN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;info@wangyan.org &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;SEAFILE_ADMIN_PW&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;123456&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;SQLSEAFILEPW&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;123456&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-v /home/seafile:/opt/seafile &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-d idiswy/seafile&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;安装可能需要 5 分钟左右，通过下面方法查看安装进度。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker logs -f seafile //查看安装进度&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;六常见操作&#34;&gt;六、常见操作&lt;/h2&gt;
&lt;h3 id=&#34;61-进入容器&#34;&gt;6.1 进入容器&lt;/h3&gt;
&lt;p&gt;首先，安装个小工具&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --fail -L -O https://github.com/phusion/baseimage-docker/archive/master.tar.gz &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar xzf master.tar.gz &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./baseimage-docker-master/install-tools.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;然后，进入容器&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker-bash seafile&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;配置文件路径&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;nginx 配置文件&lt;/code&gt; /etc/nginx/conf.d/seafile.conf&lt;/li&gt;
&lt;li&gt;&lt;code&gt;seafile 配置文件&lt;/code&gt; /opt/seafile/conf/&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;62-重启操作&#34;&gt;6.2 重启操作&lt;/h3&gt;
&lt;p&gt;重启 nginx（nginx 修改配置文件后，需要重启）&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sv reload nginx&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;重启 seafile&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/etc/init.d/seafile restart&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;七系统设置可选&#34;&gt;七、系统设置(可选)&lt;/h2&gt;
&lt;h3 id=&#34;61-解决debian本地化问题&#34;&gt;6.1. 解决Debian本地化问题&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt-get install -y language-pack-zh-hans-base&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &amp;gt;/etc/default/locale&lt;span class=&#34;s&#34;&gt;&amp;lt;&amp;lt;-EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;LANG=zh_CN.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;LANGUAGE=zh_CN.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;LC_ALL=zh_CN.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;EOF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;locale-gen &lt;span class=&#34;s2&#34;&gt;&amp;#34;zh_CN.UTF-8&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; dpkg-reconfigure locales&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;72设置中国时区&#34;&gt;7.2.设置中国时区&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Debbian&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /etc/localtime &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Asia/Shanghai&amp;#34;&lt;/span&gt; &amp;gt; /etc/timezone &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get -y install ntpdate &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; ntpdate -d cn.pool.ntp.org&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;CentOS 7&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;via &lt;a href=&#34;http://www.wangyan.cloud/centos-timedatectl&#34;&gt;http://www.wangyan.cloud/centos-timedatectl&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;imedatectl set-timezone Asia/Shanghai
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;timedatectl set-ntp yes &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;73安装-fuse-扩展&#34;&gt;7.3.安装 FUSE 扩展&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p /data/seafile-fuse &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/opt/seafile/seafile-server-latest/seaf-fuse.sh start /data/seafile-fuse //启动
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./seaf-fuse.sh stop //停止&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;八了解更多&#34;&gt;八、了解更多&lt;/h2&gt;
&lt;p&gt;关于&lt;code&gt;Seafile&lt;/code&gt;更多信息，请访问其官网。&lt;a href=&#34;http://manual.seafile.com/&#34;&gt;http://manual.seafile.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;更多使用帮助请阅读&lt;code&gt;wiki&lt;/code&gt;，其他问题欢迎在&lt;code&gt;issues&lt;/code&gt;中反馈。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
