And*_*y F 2 docker docker-compose
本页讨论如何使用docker-compose控制启动顺序.它推荐了三种工具:wait-for-it,dockerize或wait-for.
我一直在努力争取等待或等待按预期工作,但在这个问题上,我将专注于等待.
每次我的docker容器启动时,它都会退出"Operation Timed Out".
这是我非常简单的docker文件作为示例:
FROM ubuntu
COPY ./wait-for.sh /
WORKDIR /
RUN chmod +x ./wait-for.sh
CMD sh -c './wait-for.sh www.eficode.com:80 -- echo "Eficode site is up"'
Run Code Online (Sandbox Code Playgroud)
这应该将脚本从当前目录复制到root,使其可执行并设置run命令以执行脚本并检查eficode网站的状态(例子来自eficode github页面).
我已经尝试提供超时标志,它会调整超时,但不会影响结果.我也尝试将此脚本作为docker-compose命令的一部分运行(遵循上面链接的docker-compose文档页面上的示例),但同样的结果也是如此.
我究竟做错了什么?
您缺少netcat包,nc但在示例图像中不可用.在您的某处添加以下内容Dockerfile:
RUN apt-get -q update && apt-get -qy install netcat
Run Code Online (Sandbox Code Playgroud)
正如安迪提到的,你需要nc被安装。你可以:
nc因为 bash 可以直接访问端口。nc. 这只是意味着将第一行更改为FROM alpine.| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |