2020-05-07 20:55:43
这是我们使用自建 docker swarm 集群后在部署时遇到的一个问题,使用 docker service update 命令更新服务时,
docker service update -d=false --force service_name
在更新的过程中服务有短暂的时间不能访问。
该服务中运行的是 asp.net core web api ,所使用的 Dockerfile 如下:
FROM microsoft/aspnetcore:1.1.2
ARG PROJECT
WORKDIR /app
COPY ${PROJECT}/publish .
RUN echo "dotnet ${PROJECT}.dll --urls http://*:80" > run.sh
通过在服务更新期间在另外一个容器中运行下面的 curl 命令捕捉这个问题:
while true;do curl -sSf -w '%{http_code}' cloud_api/alive;sleep 2;done
service update 期间不能访问所更新的服务时,curl 会出现下面的输出:
curl: (7) Failed to connect to cloud_api port 80: Connection refused
000
怀疑是容器启动后,asp.net core web api 站点没有立即开始工作,dotnet 命令启动站点也需要一定的时间。
针对这个怀疑点,在 Dockcefile 中添加 HEALTHCHECK 指令,这样可以让 docker 在容器启动后对容器内应用进行健康检查,检查通过才将容器投入使用。
HEALTHCHECK --interval=5s --timeout=20s
CMD curl -fs localhost/alive || exit 1
注:localhost/alive 是容器内应用实现的一个健康检查 url 。
添加 HEALTHCHECK 后重新构建镜像并部署,执行 service update 命令问题没有出现,搞定!
docker命令行参考(33) – docker swarm init初始化集群
04-15
docker部署Elasticsearch集群
03-10
docker-postfix, 在 docker 容器中,使用smtp身份验证( sasldb ) 运行后缀
06-26
SureHA集群服务器处于保留(宕机后重新启动)状态的解决方法
02-18
管理swarm(9) – swarm实践 – 删除服务
05-19
docker命令行参考(11) – docker load从tar归档文件或STDIN导入镜像
07-20
docker命令行参考(26) – docker stats实时显示容器资源使用统计
06-21
docker命令行参考(4) – docker inspect显示容器或镜像相关信息
07-19
docker命令行参考(6) – docker commit提交容器的更改创建新镜像
07-15
Kubernetes集群中Service的滚动更新
02-17
Linux系统SureHA集群中手动mount磁盘资源、镜像磁盘资源处于只读模式的解决方法
03-24
管理swarm(16) – 将节点加入到swarm
03-10
Linux系统SureHA 2.0集群磁盘资源/镜像磁盘资源FSCK设置导致启动时间过长的解决办法
05-18
SureHA 2.0集群中,共享磁盘及镜像磁盘中的数据能否保存共享设置和NTFS权限设置?
06-02
docker用户指南(15) – 默认bridge网络 – 绑定容器端口到主机
03-31
docker创建的集群下使用ansible部署zookeeper
04-26
CentOS 7.2安装配置MariaDB Galera Cluster(10.1.21-MariaDB) 三主集群环境
05-13
NVIDIA显卡在设备管理器右键更新安装驱动的方法
06-08
T168 G7服务器板载Intel 82574L和82579LM网卡指示灯状态说明
06-30
T270 G5服务器liunx系统运行过程报“nautilus崩溃”错误的原因?
07-18
windows server 2016(服务器操作系统)中文版
5.18G
下载xp iis(Web服务器)6.0 中文版
13.4M
下载服务器安全工具下载
329.2K
下载C-Lodop云打印服务器(云打印工具)v4.115官方版
9.3M
下载Emby Server(流媒体服务软件,)v4.0.2.0 破解版
101M
下载Win Toolkit(系统更新精灵) v1.5.4.4官方最新版
9.9 MB
下载securecrt(SSH远程终端服务软件) v9.0 破解版
67.7MB
下载tomcat7.0 (Web 应用服务器)官方版
9.3M
下载word字体(word字体服务软件) 2021 免费版
225MB
下载网络文件服务器(HTTP文件管理系统) 2.3 绿色版
837.6KB
下载cs1.6?(射击类游戏)v1.6 中文版
141MB
下载ftp上传工具(传输软件)v3.8.2.0 中文版
22.3M
下载hwinfo32(系统信息检测工具) v7.05.4490 中文版
10.1M
下载picture manager(图像处理软件)2010 中文版
19.46 MB
下载unlocker(密码解锁工具) v3.0.3.4 中文版
32.1M
下载vc2005(动态链接库)V0.3.2 中文版
6.63MB
下载IObit Driver Booster Pro下载
24.9MB
下载activesync下载
22.72MB
下载cdr x6下载
251.8M
下载ceb文件阅读器下载
42.6M
下载