Ssh
Docker 不啟動 MONGODB,IPAddress 不出現,與其他服務一起啟動
我一直在嘗試從 Fedora 建構作業系統映像,但未能成功啟動以下操作:
- 系統
- 固態混合硬碟
- 兔MQ
- MongoDB
我可以讓前 3 個(Systemd、SSHD 和 RabbitMQ-Server)工作。我還可以讓 MongoDB 在容器中工作。但是,我無法讓 MongoDB 與其他 3 項服務一起工作。
此外,當我嘗試“dockerize”MongoDB 時,IP 地址不顯示。
我在 Dockerfile 中遺漏了什麼嗎?
這是我的碼標頭檔:
FROM fedora:20 MAINTAINER “Ashfaque” <ashfaque@email.com> ENV container docker RUN yum -y update; yum clean all RUN yum -y install systemd; yum clean all; \ (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/*; # Dockerizing SSH - is working RUN yum -y install openssh-server RUN yum -y install openssh-clients RUN mkdir /var/run/sshd RUN systemctl enable sshd.service RUN echo 'root:mypassword' |chpasswd EXPOSE 22 # Dockerizing RabbitMQ - is working RUN yum -y install rabbitmq-server EXPOSE 5672 15672 RUN systemctl enable rabbitmq-server # Dockerizing MongoDB - is NOT WORKING RUN yum -y install mongodb-server RUN yum -y install boost RUN yum -y install scons # Create the MongoDB data directory RUN mkdir -p /data/db /var/log/mongodb /var/run/mongodb RUN sed -i 's/dbpath =\/var\/lib\/mongodb/dbpath =\/data\/db/' /etc/mongodb.conf # Expose port 27017 from the container to the host EXPOSE 27017 # Set usr/bin/mongod as the dockerized entry-point application ENTRYPOINT ["/usr/bin/mongod"] #CMD ["--port", "27017", "--dbpath", "/data/db", "--smallfiles", "--fork", "--syslog"] #RUN /usr/bin/mongod --smallfiles --port 27017 --dbpath /data/db --fork --syslog VOLUME ["/sys/fs/cgroup", "/data/db", "/var/log/mongodb", "/usr/bin"] CMD ["/usr/sbin/init"]
用於建構的 Docker 命令有:
(1) docker build -t rabbitmq_mongo_heisenbug 。
(2) docker run –privileged -d -e ‘container=docker’ -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 29022:22 -p 29672:15672 -p 29017:27017 rabbitmq_mongo_heisenbug
或.. (3) docker run –privileged -ti -e ‘container=docker’ -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 29022:22 -p 29672:15672 -p 29017 :27017 rabbitmq_mongo_heisenbug
這個問題在stackoverflow上得到了回答。