oOn*_*nez 5 dbus unix-socket docker
我正在尝试使用内部运行的自定义D-Bus总线创建一个Docker容器.
我配置我的Dockerfile如下:
FROM ubuntu:16.04
COPY myCustomDbus.conf /etc/dbus-1/
RUN apt-get update && apt-get install -y dbus
RUN dbus-daemon --config-file=/etc/dbus-1/myCustomDbus.conf
Run Code Online (Sandbox Code Playgroud)
构建之后,套接字被创建但它被标记为"文件",而不是"套接字",我不能将它用作总线...
-rwxrwxrwx 1 root root 0 Mar 20 07:25 myCustomDbus.sock
Run Code Online (Sandbox Code Playgroud)
如果我删除此文件并dbus-daemon在终端中再次运行该命令,则成功创建套接字:
srwxrwxrwx 1 root root 0 Mar 20 07:35 myCustomDbus.sock
Run Code Online (Sandbox Code Playgroud)
我不确定它是D-Bus问题还是Docker问题.
您应该使用"ENTRYPOINT"来运行启动脚本,而不是使用"RUN"命令.
Dockerfile看起来应该是这样的:
FROM ubuntu:14.04
COPY myCustomDbus.conf /etc/dbus-1/
COPY run.sh /etc/init/
RUN apt-get update && apt-get install -y dbus
ENTRYPOINT ["/etc/init/run.sh"]
Run Code Online (Sandbox Code Playgroud)
并运行.sh:
#!/bin/bash
dbus-daemon --config-file=/etc/dbus-1/myCustomDbus.conf --print-address
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8002 次 |
| 最近记录: |