岱岳之上的天 发表于 2025-4-9 11:32:00

两分钟 使用docker compose启动一个gost 用于端口转发

本文介绍的内容是:<br />
在更方便使用docker的服务器环境中,如何快速通过docker compose启动一个gost程序,用于端口转发<br />
<br />
前提条件:<br />
在确实是更方便使用docker的环境中启动<br />
服务器上开放相应端口(如已经开放可以忽略)<br />
<br />
具体步骤:<br />
1.新建一个文件夹,名为gost<br /><div class="blockcode"><div id="code_ZIz"><ol><li>mkdir gost</ol></div><em onclick="copycode($('code_ZIz'));">复制代码</em></div><br />
2.进入这个文件夹,创建一个名为docker-compose.yaml的文件<br /><div class="blockcode"><div id="code_OyM"><ol><li>cd gost<br /><li>vim docker-compose.yaml</ol></div><em onclick="copycode($('code_OyM'));">复制代码</em></div><br />
3.编辑文件,填入以下内容(command部分需要编辑,请参阅流程4)<br /><div class="blockcode"><div id="code_ij4"><ol><li>services:<br /><li>&nbsp;&nbsp;hysteria:<br /><li>&nbsp; &nbsp; image: 'gogost/gost'<br /><li>&nbsp; &nbsp; container_name: gost<br /><li>&nbsp; &nbsp; restart: always<br /><li>&nbsp; &nbsp; network_mode: host<br /><li>&nbsp; &nbsp; deploy:<br /><li>&nbsp; &nbsp;&nbsp; &nbsp;resources:<br /><li>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;limits:<br /><li>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; cpus: '1.0'<br /><li>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; memory: 256M<br /><li>&nbsp; &nbsp; command:<br /><li>&nbsp; &nbsp;&nbsp; &nbsp;- &quot;-L=udp://:443/192.168.1.1:443?keepalive=true&amp;ttl=60s&quot;<br /><li></ol></div><em onclick="copycode($('code_ij4'));">复制代码</em></div><br />
4.按照需要编辑command部分,该处格式为:<br />
<br /><div class="blockcode"><div id="code_qDg"><ol><li>&quot;-L=协议://:本地使用的端口号/远程主机地址:远程端口号?附加选项&quot;</ol></div><em onclick="copycode($('code_qDg'));">复制代码</em></div><br />
<br />
比如我想要让访问到这一台主机的443端口的请求转发到远程主机192.168.1.1的443端口,我就可以这么写:<br />
<br /><div class="blockcode"><div id="code_bxF"><ol><li>&quot;-L=tcp://:443/192.168.1.1:443?keepalive=true&amp;ttl=60s&quot;</ol></div><em onclick="copycode($('code_bxF'));">复制代码</em></div><br />
<br />
其中keepalive选项为长连接功能是否开启,若开启,则存在关闭超时,若无,则相应转发连接传输完数据后会立马被关闭。<br />
其中ttl选项为长连接的关闭超时,仅在keepalive开启后有效。当相应具备长连接功能的转发连接开启后,超过相应秒数没有数据传输,相应的连接将会被关闭。<br />
请按照需要修改此处的选项。可同时存在多个转发项。但不允许多项同时使用相同的端口号。<br />
<br />
5.保存,退出,运行<br />
<br /><div class="blockcode"><div id="code_rvz"><ol><li>:wq<br /><li><br /><li>docker compose up -d</ol></div><em onclick="copycode($('code_rvz'));">复制代码</em></div><br />
<br />
6.查看运行状态<br />
<br /><div class="blockcode"><div id="code_KMg"><ol><li>docker logs gost</ol></div><em onclick="copycode($('code_KMg'));">复制代码</em></div><br />
<br />
如果出现的json日志中没有报错代表运行成功<br />
<br />
7.若需要修改转发端口,此时直接修改相应目录下的 docker-compose.yaml 文件中的command部分即可,修改完成后需要重新生成并启动一下容器方可正常生效。<br />
<br /><div class="blockcode"><div id="code_pxx"><ol><li>docker compose down &amp;&amp; docker compose up -d</ol></div><em onclick="copycode($('code_pxx'));">复制代码</em></div>
页: [1]
查看完整版本: 两分钟 使用docker compose启动一个gost 用于端口转发