1
mritd 2017-02-07 22:13:11 +08:00 via iPhone
docker 是通过 iptables 控制的,网络互相隔离,你把多个容器 link 上就行了
或者直接通过 docker -compose 启动 |
2
JackyBao OP |
3
better0332 2017-02-07 22:58:43 +08:00
都写到脚本里,启动脚本不就行了
|
4
Reficul 2017-02-07 23:07:57 +08:00 via Android
1. 可以通过容器名来实现两个容器之间内部通信,然后 expose 需要的端口
2. 写个脚本,一个容器运行两个程序,用本地环回 3. 两个容器都用 host 模式,然后本地环回 |
5
mritd 2017-02-08 07:27:59 +08:00
@JackyBao 是可以的,你只需要让 ss 监听 0.0.0.0:xxxx 即可,然后 kcptun 指向 127.0.0.1 ;后续准备 切换到 ss 3.0 版本,把 kcptun 拆出来 做个 docker-compose 。。。
|
6
JackyBao OP @mritd #5
其实我倒觉得 kcptun 拆出来意义不大,我目前是用你的 ss docker 关 kcptun ,然后另外再加载一个 kcptun 作者自己的 docker ,用起来也挺方便。 顺便提个建议,你的 docker 里面 kcptun 能否也做成直接加载启动参数,加载转义符的 json 文件的方式太反人类了。 比如原作者的 docker 是这么启动的: server -t localhost:8388 --key password--crypt salsa20 --ds 0 --ps 0 --dscp 46 --nocomp 谢谢! |
7
mritd 2017-02-08 09:56:49 +08:00 1
@JackyBao 以前这么试过,目前的参数启动是通过一个 entrypoint 脚本实现的,但是 kcptun 加进去以后发现 参数不够用.....而且 kcptun 的参数太多,所以后来干脆转义 json 了,所以现在 kcptun 在里面放着 总感觉有点蛋疼;当初添加转义 json 只是为了方便有些人在集群模式下部署;我自己使用的话 直接 挂载配置文件 ( :
|
8
leopku 2017-02-08 10:10:15 +08:00
container 之间先通过 link 引用,然后在内部通过 link 指定的 host 访问,比如: host:3306
expose 需要对外服务那个 container 端口即可 不需要对外公开的服务正常情况下可以不用 expose 端口,比如数据库服务的 container |