Docker 容器未运行

Docker 容器未运行,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,你能帮我吗 我试图通过dockerfile运行容器,但它显示了这一点 警告,我的容器未启动 compose.parallel.parallel\u execute\u iter:已完成处理: 从一个空目录开始,并将以下内容作为名为Dockerfile的文件放入该目录中 FROM centos RUN yum -y install openssh-server RUN yum install -y passwd RUN useradd remote_user RUN echo "

你能帮我吗

我试图通过dockerfile运行容器,但它显示了这一点 警告,我的容器未启动

compose.parallel.parallel\u execute\u iter:已完成处理:
从一个空目录开始,并将以下内容作为名为Dockerfile的文件放入该目录中

FROM centos

RUN yum -y install openssh-server 
RUN yum install -y passwd 
RUN useradd remote_user

RUN echo "1234" | passwd remote_user --stdin 

RUN mkdir /home/remote_user/.ssh


RUN chmod 700 /home/remote_user/.ssh

COPY remote_user.pub /home/remote_user/.ssh/authorized_keys
RUN chown remote_user:remote_user -R /home/remote_user 

RUN chmod 400 /home/remote_user/.ssh/authorized_keys
CMD /usr/sbin/sshd -D


# CMD ["/bin/bash"]


# ... save this file as Dockerfile then in same dir issue following
#
# docker build --tag stens_centos .   # creates image stens_ubuntu
#
# docker run -d  stens_centos  sleep infinity # launches container and just sleeps only purpose here is to keep container running
#
# docker ps     #   show running containers
#
# 
# ... find CONTAINER ID from above and put into something like this
#
# docker exec -ti $( docker ps | grep stens_centos | cut -d' ' -f1 ) bash   #  login to running container
#
然后在同一目录中按照

eve@milan ~/Dropbox/Documents/code/docker/centos $ ls -la
total 28
drwxrwxr-x  2 eve eve  4096 Nov  2 15:20 .
drwx------ 77 eve eve 12288 Nov  2 15:14 ..
-rw-rw-r--  1 eve eve   875 Nov  2 15:20 Dockerfile
-rwx------  1 eve eve  3243 Nov  2 15:18 remote_user
-rwx------  1 eve eve   743 Nov  2 15:18 remote_user.pub
然后cat out Dockerfile和copy and paste命令,它在Dockerfile文件的底部解释了这些命令。。。对我来说,它们都很管用

复制并粘贴Dockerfile底部列出的命令后,容器将被构建并执行

docker ps
  
CONTAINER ID   IMAGE          COMMAND            CREATED         STATUS         PORTS     NAMES
0a06ebd2752a   stens_centos   "sleep infinity"   7 minutes ago   Up 7 minutes             pedantic_brahmagupta
请记住,您必须在Dockerfile中定义底部CMD或类似命令,以便在容器运行时执行,根据定义,它通常是一个永远运行的服务器。。。或者,这个CMD可以是一个简单的东西,它可以像批处理作业一样运行然后完成,在这种情况下,当该作业完成时,容器将退出。。。有了这些知识,我建议您确认
sshd-D
将把该命令作为服务器保存,或者在启动容器时立即终止

我的Jekyll博客网站出现了这个问题,我通常在创建新帖子时使用docker compose with mapped volume来重建它-它挂起了,尝试使用
--verbose
开关运行
docker compose up
,看到了相同的
compose.parallel.feed\u队列:Pending:set()

我在我的Macbook上试用过,效果很好

我没有打开任何实验功能,但我需要进入(在Windows上)设置->资源->文件共享,并在docker compose(我博客网站的根目录)中添加我映射的文件夹

重新运行docker compose及其现在已启动并运行

版本信息:

上面的笔记告诉您错误。。。没有可用的主机密钥。。。dockerfile只是发出您可以自己手动发出的命令。。。确保在终端中发出命令时命令的顺序有效。。。然后确保这些文件从docker内部可见。。。通过将dockerfile缩小到第一行或两行,然后仅在dockerfile正常工作时向其添加新行,很容易解决此问题。。。将文本粘贴到问题中时,首先将其放入编辑器,然后选择“全部”,然后选择“选项卡”,然后复制粘贴到问题中。。。欢迎使用SORemember,任何拥有Docker映像的人都可以在其上运行
Docker history
,并轻松提取该密码。如果您希望在映像上使用交互式调试shell,
docker run--rm-it image\u name bash
可能比您显示的
docker ps
/
docker exec
配方更简单。