我是docker的初学者。
我已使用命令
sudo apt install docker-ce
在我的ubuntu 18.04计算机中安装了docker-ce
作为教程的一部分,我试图通过执行以下一系列命令来建立容器之间的连接。
以下命令将打开端口1234/4321,以侦听我要使用的容器内部/外部的流量。
root@ghost-SVE9999CNS:/home/ghost# docker run --rm -ti -p 1234:1234 -p 4321:4321 --name echo-server ubuntu:18.04 bash
现在,我想在docker bash终端中运行netcat命令。
root@xxxyyyyzzzz12:/# nc -lp 1234 | nc -lp 4321
一旦我从我的终端上输入了上述命令。。它给出错误“ nc:找不到命令”
bash: nc: command not found
bash: nc: command not found
后来,我做了足够的研究,但从未找到任何官方的Docker解决方案来解决这个问题。
请任何人帮我在docker-ce中安装netcat。
我已经尝试过以下命令。
apt-get install netstat
apt-get install nc
但是,没有运气。
答案 0 :(得分:5)
nc
默认未安装在ubuntu:18.04
映像上,因此必须安装它:
apt-get update && apt-get install -y netcat
apt-get update
对于首先更新软件包列表是必需的(启动容器时,该列表为空)。完成后,您可以从容器中运行nc -lp 1234
。
要按预期测试所有作品,可以:
telnet container_ip 1234
或telnet localhost 1234
之类的东西(因为端口已转发)答案 1 :(得分:0)
不一定要使用ubuntu:18.04
来学习本教程,例如,可以使用ubuntu:14.04
,其中默认安装了nc
。
docker run --rm -ti -p 1234:1234 -p 4321:4321 --name echo-server ubuntu:14.04 bash