<?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 Lutong's Homepage</title><link>https://www.elliot98.top/tags/docker/</link><description>Recent content in Docker on Lutong's Homepage</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 18 Nov 2020 18:30:50 +0800</lastBuildDate><atom:link href="https://www.elliot98.top/tags/docker/index.xml" rel="self" type="application/rss+xml"/><item><title>技术摘要| Wickftps——一个ftp(s)、www容器</title><link>https://www.elliot98.top/post/tech/wickftps/</link><pubDate>Wed, 18 Nov 2020 18:30:50 +0800</pubDate><guid>https://www.elliot98.top/post/tech/wickftps/</guid><description>&lt;h1 id="wickftps"&gt;Wickftps&lt;/h1&gt;
&lt;p&gt;因为一些服务器到期，因此我打算将一些文件管理服务进行容器化，并构建了这样一个项目。wickftps 主要包括了如下三个组件：vsftpd、nginx 以及 sshd。这样可以快速迁移我们的 ftp 文件服务而无需繁琐的配置过程。&lt;/p&gt;
&lt;p&gt;我们使用了一个“统一身份认证”系统，说白了就是以下服务全部使用统一的用户名和密码进行管理，这样还是比较方便的。&lt;/p&gt;
&lt;h2 id="1-vsftpd"&gt;1. vsftpd&lt;/h2&gt;
&lt;p&gt;对于 FTP 服务来说，大概有如下几个需求吧。首先是被动模式，在现在 NAT 重重的 ipv4 互联网中，主动模式的可行性实在是太低了，因此需要配置好服务器被动模式。其次就是 ftps 的需求，因为通常是部署在公网服务器上的，因此往往需要使用 ssl 对文件传输过程进行保护。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这里记录一个坑，以后配置 vsftpd 的 ssl 一定要记得设置 &lt;code&gt;require_ssl_reuse=NO&lt;/code&gt;，否则很多客户端会报错。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="2-nginx"&gt;2. nginx&lt;/h2&gt;
&lt;p&gt;使用 nginx 的目的很简单，那就是提供目录服务（便于我们分享一些文件），此外还可以构建一些静态网页。&lt;/p&gt;
&lt;h2 id="3-ssh"&gt;3. ssh&lt;/h2&gt;
&lt;p&gt;我把 ssh 设置为一个可选服务，可以方便我们使用 ssh 协议登录容器内部，并进行一些容器管理（不要和我说 dirty ，容器也是被人使用的）。此外 rsync 等操作也可以很方便的基于 ssh 进行。&lt;/p&gt;
&lt;h2 id="4-supervisor"&gt;4. supervisor&lt;/h2&gt;
&lt;p&gt;使用 supervisor 对上面三个服务进行管理。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;项目的地址放在了 &lt;a href="https://github.com/ertuil/wickftps/"&gt;GITHUB&lt;/a&gt; 上，并且使用了 Github Action 进行容器自动构建并推送到 &lt;a href="https://hub.docker.com/repository/docker/ertuil/wickftps"&gt;docker.io&lt;/a&gt; 上，使用命令 &lt;code&gt;docker push ertuil/wickftps:latest&lt;/code&gt; 下载。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>技术摘要| 构建具有 netspeerder 加速的 SSR 容器环境</title><link>https://www.elliot98.top/post/tech/%E6%9E%84%E5%BB%BA%E5%85%B7%E6%9C%89-netspeeder-%E5%8A%A0%E9%80%9F%E7%9A%84-ssr-%E5%AE%B9%E5%99%A8/</link><pubDate>Mon, 25 Mar 2019 17:46:13 +0800</pubDate><guid>https://www.elliot98.top/post/tech/%E6%9E%84%E5%BB%BA%E5%85%B7%E6%9C%89-netspeeder-%E5%8A%A0%E9%80%9F%E7%9A%84-ssr-%E5%AE%B9%E5%99%A8/</guid><description>&lt;h1 id="构建具有-netspeerder-加速的-ssr-容器环境"&gt;构建具有 netspeerder 加速的 SSR 容器环境&lt;/h1&gt;
&lt;h2 id="本文环境"&gt;本文环境：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CentOS 7 以上&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="第一步内核配置-bbr"&gt;第一步——内核配置 BBR：&lt;/h2&gt;
&lt;p&gt;利用脚本安装 BBR TCP 拥塞控制协议，BBR 协议对于高延迟大带宽的网络有非常好的优化作用，可以明显提高 ShadowSocksR 的使用体验。&lt;/p&gt;
&lt;p&gt;参考链接：&lt;/p&gt;
&lt;p&gt;&lt;a href="https://teddysun.com/489.html"&gt;秋水溢冰 —— 一键安装最新内核并开启 BBR 脚本&lt;/a&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh &amp;amp;&amp;amp; chmod +x bbr.sh &amp;amp;&amp;amp; ./bbr.sh
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="第二步安装-docker"&gt;第二步——安装 docker：&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yum update -y
yum install docker vim wget git
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;并开启 Docker 服务：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;systemctl start docker 
systemctl enable docker
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="第三步运行镜像"&gt;第三步——运行镜像&lt;/h2&gt;
&lt;p&gt;安装带有 netspeeder加速的。下面示伪代码！&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;docker run -d \
    -p 443:8388/tcp \ # 端口号·
    -p 443:8388/udp \ # 端口号·
    -e ROOT_PASS=&amp;#34;pass&amp;#34;\ # 容器 root 密码
   lnterface/ssr-with-net_speeder \
    -s 0.0.0.0 -p 8388 \
    -k pass \ # 密码
    -m aes-256-cfb \ # 加密方法
    -o http_post_compatible \
    -O auth_sha1_v4_compatible \ #混淆方法
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;请按照实际使用情况调节参数。&lt;/p&gt;</description></item></channel></rss>