无法在主机和Docker容器之间共享网络接口

时间:2019-06-04 16:45:45

标签: bash docker networking dockerfile

由于某种原因,我无法将我的主机的网络与Docker容器共享。具体来说,我正在尝试启动一个CAN接口sudo slcand -o -c -s0 /dev/ttyACM0 can0。问题是这样的。我可以在主机上启动它,但是,当我运行容器时,它找不到设备。但是,我的主机不需要打开接口,因为在docker容器中,我有一个bash脚本可以处理打开can0接口。

编辑:如果有什么不同,我尝试在Raspberry Pi上进行。

我正在使用以下命令运行我的容器:

docker run -t -i --device=/dev/ttyACM0

然后,我有一个bash脚本,用于处理can0接口。但是,当我执行run命令时,我在bash脚本中打印出ifconfig,而can0wlan0界面都没有出现。

由于bash脚本尝试启动can0接口,因此失败,并给我以下错误:

OSError: [Errno 19] No such device

我不知道我在做什么错。还有其他人遇到过这个问题吗?这是我的docker文件的样子:

FROM ubuntu:latest
COPY requirements.txt /
RUN apt-get update
RUN apt-get install -y python3-pip
RUN pip3 install -r requirements.txt
RUN apt-get install -y can-utils
RUN apt-get install -y net-tools
RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo
USER docker
COPY ./ /generator-data-tools
WORKDIR /generator-data-tools
ENTRYPOINT ["/bin/bash"]
CMD ["/generator-data-tools/start_streaming.sh"]

还有我的bash脚本:

#!/bin/bash
echo "Configuring CAN network"
ls /dev/data-streaming
slcand -o -c -s0 /dev/ttyACM0
ifconfig; ifconfig can0 up
echo "Starting to stream data"
python3 ./streaming_integration_test.py

感谢所有提前答复的人。

0 个答案:

没有答案