前言
在docker容器中执行ifconfig
,出现了bash: ifconfig: command not found
的错误
解决
1 2 3 4 5 6 7 8 9 10 11 12
| ### 拉取镜像 docker pull ubuntu
### 运行一个可交互的shell终端 docker run -it ubuntu /bin/bash 或者 docker run -i -t ubuntu /bin/bash
#-i 表示启动一个可交互的容器 #–t表示使用pseudo-TTY,关联到容器的stdin和stdout #在终端中,如果输入exit命令将会停止当前容器;因此如果只是取消关联,可以键入ctrl-p或者ctrl-q #你可以在其他终端通过docker ps 查看已经运行的容器列表
|
执行完以上命令后,执行了ifconfig
,出现了bash: ifconfig: command not found
这里我先安装了vim
1 2 3 4 5 6 7 8
| apt-get update #这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引, 这样才能获取到最新的软件包。
apt-get install vim
#如果是:bash:ping: command not found #apt-get install iputils-ping
|
再执行
apt-get install net-tool
即可
补充命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $ docker ps # 查看运行中的容器 $ docker ps -a # 查看所有容器
# 创建并启动容器 $ JOB=$(docker run -d ubuntu /bin/sh -c "while true; do echo Hello world; sleep 1; done")
# 停止一个容器 $ docker stop $JOB
# 启动一个已经创建的容器 $ docker start $JOB
# 重启一个容器 $ docker restart $JOB
# 停止一个容器 $ docker kill $JOB
# 删除一个容器 $ docker stop $JOB # 必须先停止 $ docker rm $JOB
|
进入容器
1 2 3 4
| docker attach CONTAINER ID
## eg docker attach a7f843f07886
|
具体可以参考这篇文章
如果这种方法失败
可以使用
1 2 3 4
| docker exec
##eg docker exec -it 775c7c9ee1e1 /bin/bash
|
参考
Why isn’t ifconfig available in Ubuntu Docker container?
Docker:bash: vi: command not found