操作环境
[root@localhost ~]# docker version Client: Version: 17.03.1-ce API version: 1.27 Go version: go1.7.5 Git commit: c6d412e Built: Fri Mar 24 00:36:45 2017 OS/Arch: linux/amd64 Server: Version: 17.03.1-ce API version: 1.27 (minimum version 1.12) Go version: go1.7.5 Git commit: c6d412e Built: Fri Mar 24 00:36:45 2017 OS/Arch: linux/amd64 Experimental: false
[root@centos-cloudera-1 /]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
问题描述
在centos 7.4 container centos-cloudera-1 中部署mariadb,使用systemctl 启动mariadb提示如下:
[root@centos-cloudera-1 /]# systemctl start mariadb Failed to get D-Bus connection: Operation not permitted
解决方法
1.新建container添加/usr/sbin/init以及privileged参数
[root@localhost ~]# docker run -ti --privileged --name centos-cloudera-5 --hostname centos-cloudera-5 514d36e6e77d /usr/sbin/init
2.在启动该container后,需要对其进行stop/start操作,如果不进行stop/start操作,就无法进入该container,不清楚具体元婴
[root@localhost ~]# docker stop centos-cloudera-5 centos-cloudera-5 [root@localhost ~]# docker start centos-cloudera-5 centos-cloudera-5
3.安装&启动mariadb-server
[root@centos-cloudera-5 /]#yum -y install mariadb-server [root@centos-cloudera-5 /]# systemctl enable mariadb Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service. [root@centos-cloudera-5 /]# systemctl start mariadb [root@centos-cloudera-5 /]# systemctl status mariadb ● mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2017-11-07 03:24:04 UTC; 4s ago Process: 1620 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS) Process: 1528 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS) Main PID: 1619 (mysqld_safe) CGroup: /docker/a582c54bb4e86567dffc8411489f7c221474860f7a63990d787083eb073a0957/system.slice/mariadb.service ├─1619 /bin/sh /usr/bin/mysqld_safe --basedir=/usr └─1780 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock... ‣ 1619 /bin/sh /usr/bin/mysqld_safe --basedir=/usr Nov 07 03:24:00 centos-cloudera-5 systemd[1]: Starting MariaDB database server... Nov 07 03:24:00 centos-cloudera-5 mariadb-prepare-db-dir[1528]: Initializing MariaDB database Nov 07 03:24:01 centos-cloudera-5 mariadb-prepare-db-dir[1528]: 171107 3:24:01 [Note] /usr/libexec/mysqld (mysqld 5.5.56-MariaDB) starting as process 1599 ... Nov 07 03:24:02 centos-cloudera-5 mariadb-prepare-db-dir[1528]: 171107 3:24:02 [Note] /usr/libexec/mysqld (mysqld 5.5.56-MariaDB) starting as process 1614 ... Nov 07 03:24:02 centos-cloudera-5 mariadb-prepare-db-dir[1528]: PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER ! Nov 07 03:24:02 centos-cloudera-5 mysqld_safe[1619]: 171107 03:24:02 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'. Nov 07 03:24:02 centos-cloudera-5 mysqld_safe[1619]: 171107 03:24:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql Nov 07 03:24:04 centos-cloudera-5 systemd[1]: Started MariaDB database server.