小编npi*_*pit的帖子

从docker容器访问主机的ssh隧道

使用ubuntu tusty,有一个服务在远程机器上运行,我可以通过ssh隧道从端口转发访问localhost:9999.

我有一个docker容器正在运行.我需要通过主机的隧道从容器内访问该远程服务.

我尝试从容器隧道到主机-L 9000:host-ip:9999,然后127.0.0.1:9000从容器内访问服务无法连接.为了检查端口映射是否打开,我试过了 nc -luv -p 9999 # at host nc -luv -p 9000 # at container

此之后,parag.2但即使 nc -luv host-ip -p 9000 在集装箱内进行操作也没有感知到的沟通

我也试过通过映射端口docker run -p 9999:9000,但是这报告绑定失败,因为主机端口已经在使用中(可能是从主机隧道到远程机器).

所以我的问题是

1 - 如何实现连接?我是否需要设置到主机的ssh隧道,或者这可以通过单独的docker端口映射来实现?

2 - 测试连接是什么的快速方法是什么?通过bash,最好是.

谢谢.

ssh bash netcat ssh-tunnel docker

32
推荐指数
4
解决办法
2万
查看次数

移到Emacs中文件的开头

如何在emacs中移动到文件的开头(即窗口文本编辑器中Ctrl+ 的效果Home)?

Mashing pageup不会将光标移动到开头(也不是Ctrl+Home,ofc).

这里所需结果的快捷方式描述如下:

M-<:移动到缓冲区的顶部(缓冲区的开头).使用数字参数n,从顶部移动到n/10.

M-> :移动到缓冲区的末尾(缓冲区结束).

但是Meta + <产生"没有Mx标签 - 搜索或Mx标签 - 查询 - 替换正在进行中"消息.

我正在键入快捷方式,Alt + Shift + , 因为要获取" <"我必须键入" Shift + ,"

难道我做错了什么?

谢谢.

编辑: 只有在通过屏幕运行emacs时才会出现这个问题,其中键盘快捷键由于某种原因被误解.例如,C-Home给出以下错误消息:

M-[ 1 ; 5 h (translated from M-[ 1 ; 5 H) is undefined

有什么办法吗?

emacs

10
推荐指数
2
解决办法
4464
查看次数

初始化一个静态const std :: pair <string,vector <string >>

我有一个

class myclass
{
    // ...
    static const vector<pair<string,vector<string>>> var;
    // ...
};
Run Code Online (Sandbox Code Playgroud)

在类定义中,使用单个字符串到其他几个字符串的映射.我使用vector <>而不是数组,以便能够添加映射对和映射长度,而不必使用大小变量.有没有办法在相应的.cpp文件中初始化变量,就像非复合类型的向量一样,即格式为:

 const vector<pair<string,vector<string>>> myclass :: var =
{
   ???
}
Run Code Online (Sandbox Code Playgroud)

或者我必须使用静态方法,如

static myclass::initStaticMembers(){...}
Run Code Online (Sandbox Code Playgroud)

如果有第一种方法可以做到这一点,那么语法是什么?我搜索过,但没有找到复合std :: pair初始化的语法.例如,你可以初始化一个vector<string>

vector <string>myvec={"elem1", "elem2","elem3"};
Run Code Online (Sandbox Code Playgroud)

但你怎么开始复杂的vector<pair<string,vector<string>>>?谢谢.

c++ initialization composite stdvector std-pair

-1
推荐指数
1
解决办法
2553
查看次数

标签 统计

bash ×1

c++ ×1

composite ×1

docker ×1

emacs ×1

initialization ×1

netcat ×1

ssh ×1

ssh-tunnel ×1

std-pair ×1

stdvector ×1