linux - Open vSwitch 无法在 Docker 上运行

标签 linux git ubuntu docker openvswitch

我使用的是 ubuntu 14.04 和 Docker 版本:

Client:
 Version:       17.12.1-ce
 API version:   1.35
 Go version:    go1.9.4
 Git commit:    7390fc6
 Built: Tue Feb 27 22:17:56 2018
 OS/Arch:       linux/amd64
Server:
 Engine:
  Version:      17.12.1-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.4
  Git commit:   7390fc6
  Built:        Tue Feb 27 22:16:28 2018
  OS/Arch:      linux/amd64
  Experimental: false

下面是我的Dockerfile:

FROM ubuntu:16.04
# Install the required packages
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get -y install openvswitch-switch openvswitch-common
RUN apt-get -y install nano
RUN apt-get -y install iproute2
RUN apt-get -y install tcpdump
RUN apt-get -y install openssh-server
RUN apt-get -y install net-tools
RUN apt-get -y install iputils-ping
RUN rm -rf /var/lib/apt/lists/*

之后我正在做:

$sudo docker build -t mhkabir/ovs-container:latest .
$sudo docker run -it mhkabir/ovs-container:latest bash

在容器内,当我尝试检查 Open vSwitch 时,它显示错误:

root@60cf0a5b5cfd:/# ovs-vsctl show
ovs-vsctl: unix:/var/run/openvswitch/db.sock: database connection failed (No such file or directory)

期待您的建议。谢谢。

最佳答案

此问题可能与缺少目录 /var/run/openvswitch/ 相关,导致 ovs-ctl 守护进程在启动时失败,有两种潜在的解决方法:

1-在 docker 文件中创建目录 /var/run/openvswitch/,例如 RUN mkdir/var/run/openvswitch/

2-手动执行/usr/share/openvswitch/scripts/ovs-ctl start命令

关于linux - Open vSwitch 无法在 Docker 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49415207/

相关文章:

Git 登录 ZSH 终端

ubuntu - 编译 Xvfb 的静态链接二进制文件

linux - 找到一个模式并替换它的一个字符

python - 如何在VCP模式下使用FDTI芯片?

linux - 获取特定日期戳后进入 UNIX 文件夹的文件数

git - 网页开发工作流程

git - 如何/应该将 Zend Framework 2 包含到 Git 版本化项目中?

mysql - Ubuntu 上的 LAMP 堆栈设置 : What is 'localhost' ?

php - Laravel 路由不起作用,只有根路由起作用

c++ - 在 Linux 上修改 C++ 名称时,什么算作符号?