Docker 容器未运行
你能帮我吗 我试图通过dockerfile运行容器,但它显示了这一点 警告,我的容器未启动 compose.parallel.parallel\u execute\u iter:已完成处理: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的文件放入该目录中
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
配方更简单。