我有一個正在構建的容器,它只包含memcached,並且我希望容器在構建容器時啓動。問題獲取memcache容器在Docker中自動啓動
這是我目前泊塢文件 -
FROM centos:7
MAINTAINER Some guy <[email protected]>
RUN yum update -y
RUN yum install -y git https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y ansible && yum clean all -y
RUN yum install -y memcached
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" ]
EXPOSE 11211/tcp 11211/udp
CMD ["/usr/bin/memcached"]
#CMD ["/usr/bin/memcached -u root"]
#CMD ["/usr/bin/memcached", "-D", "FOREGROUND"]
容器成功建立,但是當我嘗試使用命令
docker run -d -i -t -P <image id>
運行的容器,我無法看到列表內的形象,返回docker ps
。
我試圖讓我的memcached服務以和我的httpd容器相同的方式運行,但是我無法使用-D標誌傳入參數(因爲它已經是一個守護進程即時猜測)。這是我的httpd CMD是如何設置 -
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
本地,如果我運行命令它會作爲一個過程,但是當我嘗試在容器CMD
它告訴我,它無法找到指定的文件(與我猜測的-u root部分有關)。
將CMD
設置爲/ bin/bash仍然不允許服務啓動。
如何讓我的memcached服務運行並允許在運行docker ps
時看到它,以便我可以在其中打開bash部分?
謝謝。
'docker ps -a'也會顯示停止的容器。然後,您可以使用'docker logs'查看日誌 –
BMitch