使用centos官網(wǎng)docker鏡像,版本為CentOS Linux release 7.4.1708 (Core)
使用systemctl報(bào)錯(cuò):Failed to get D-Bus connection: Operation not permitted
centos docker鏡像官網(wǎng)中已經(jīng)說(shuō)明,在centos7.2會(huì)解決這個(gè)問(wèn)題,但是需要自己去開(kāi)啟.
解決方案.
編寫Dockerfile,構(gòu)造自己的鏡像版本.
FROM registry.docker-cn.com/library/centos
ENV container docker
MAINTAINER liao <1149790323@qq.com>
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/*;
RUN yum -y install net-tools
RUN yum -y install iproute
RUN yum -y install vim-enhanced
RUN yum -y install sudo passwd
RUN yum -y install iptables
RUN yum -y install openssl openssh-server
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
RUN sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
RUN sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config
RUN sed -i "s/#Port.*/Port 20022/g" /etc/ssh/sshd_config
RUN echo "root:123" | chpasswd
EXPOSE 20022
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
2.運(yùn)行docker鏡像
docker run --privileged -dti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 20022:20022 local/centos_ssh
說(shuō)明:
1.運(yùn)行后不能用docker attach containerid去連接,只能用ssh連接
2.更改22端口為20022,防止沖突.