我使用的是 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/