docker容器的health健康状态检查

Docker 

Docker 原生健康检查能力自 1.12 版本之后,Docker 引入了原生的健康检查实现。对于容器而言,最简单的健康检查是进程级的健康检查,即检验进程是否存活。Docker Daemon会自动监控容器中的PID1进程,如果docker run命令中指明了restart policy,可以根据策略自动重启已结束的容器。在很多实际场景下,仅使用进程级健康检查机制还远远不够。比如,容器进程虽然依旧运

alpine 和 Debian 镜像更改源,及安装软件并删除缓存

Docker 

alpine 和 Debian 镜像更改源,及安装软件并删除缓存:alpine:sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \ apk update && \ apk add --no-cache gcc Debian:se

Flannel实现Docker容器多主机通信

Docker 

flannel网络概述flannel 是 CoreOS 开发的容器网络解决方案。flannel 为每个 host 分配一个 subnet(子网),容器从此 subnet 中分配 IP,这些 IP 可以在主机间路由,容器间无需 NAT 和 port mapping(端口映射) 就可以跨主机通信。flannel的作用因为flannel实现跨主机的子网通信是通过主机中的dr0网卡进行通信的,由flann

Python Docker 镜像的选择


问题:Python Docker 镜像的种类比较多,以3.6.15版本为例就有10个选择。那具体应该如何选?版本区别:通过python Tags | Docker Hub查看信息,整理后如下表(以linux/386系统为例):TAGOS/ARCHCOMPRESSED SIZEpython:3.6.15-slim-busterlinux/38640.89 MBpython:3.6.15-slim-b

docker版mysql:5.7.34 免密码使用mysqldump备份


概述环境:docker数据库版本:mysql 5.7.34目的:每天定时把一个库的数据备份到本机里。容器名称:mysql备份目录:/data/backup由于mysqldump的时候会要求输入密码,无法做到自动备份。本案例通过docker的exec执行容器命令的方式创建login-path和实现自动备份。1.创建login-path创建方法如下:docker exec -it mysql mysq

用 python:alpine 应用容器制作 selenium+chromium 的 docker 镜像,并设置中文支持


部署使用 python:3.8.8-alpine3.13 的应用镜像,制作 selenium+chromium 的 docker 镜像,并设置中文支持。DockerFile 内容如下:FROM python:3.8.8-alpine3.13 AS buildRUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc

使用普通用户运行docker容器

Docker 

在docker中,在容器内创建的文件在从主机检查时往往具有不可预测的所有权。默认情况下,卷上文件的所有者是root(uid 0),但只要非root用户帐户涉及容器并写入文件系统,所有者就会从主机角度变得或多或少随机 。您需要使用调用docker命令的同一用户帐户从主机访问卷数据时,这是一个问题.典型的解决方法是在Dockerfiles中创建时强制用户uID(非可移植)将主机用户的UID作为环境变量

通过Dockerfile构建nginx镜像,启动失败的原因

Docker 

通过Dockerfile构建nginx的一些思考。刚开始接触docker,在利用dockerfile通过centos7的镜像构建nginx镜像时,最后的启动命令上面遇到很多启动失败。然后想了4种启动方法,有两种能正常运行。当时是想不明白为什么,继续深入学习后发现了其中的一些知识没学习到。作记录,分享相互学习。构建nginx的Dockerfile上部分的内容为:FROM centos:centos7