我已经在centos上安装了mysql,现在想启动mysql服务器。但是,我得到一个错误:
# systemctl start mysqld
Failed to get D-Bus connection: Operation not permitted
为了修复它,我创建了一个dockerfile,如图所示
FROM centos:7
MAINTAINER theodosiostziomakas <mymail@gmail.com>
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i
== systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
然后运行它来创建一个图像。
$ docker build --rm -t local/c7-systemd .
但我还是犯了同样的错误。
我还研究了这个提议的解决方案
有什么想法吗?
谢谢,西奥。
2条答案
按热度按时间pu82cl6c1#
我可以用docker systemctl替换脚本运行mysql,该脚本模拟“systemctl”命令,而不需要活动的systemd守护进程。您可以在docker systemctl图像示例中看到这一点。
c3frrgcw2#
我相信dockerfile或run命令的问题
你dockerfile的问题似乎就在这一行
这里是mysql centos dockerfile
现在,下一步是运行
这是命令
你可以建立你自己的或者你可以从docker注册表中提取上面的图片,我在测试期间建立并推送它。
更新:
加上这个后,我可以开始停止使用
systemctl