Docker使用代理拉取镜像

Docker 

前言 一些镜像源(比如:registry.k8s.io、k8s.gcr.io等)由于某种原因无法下载的情况下,可以在Docker中配置代理来拉取。 解决方法 查看docker的systemd.service的配置文件位置: 执行systemctl status docker.service命令来查看

docker中的gosu和su-exec工具

Docker 

volume的权限问题在Docker中,需要把host的目录挂载到container中作为volume使用时,往往会发生文件权限问题。 常见的现象是,container对该路径并无写权限,以致其中服务的各种千奇百怪的问题。导致这类问题的原因,是container内外的UID不同。 比如,host当前使用docker的用户UID是1000(这是默认第一个用户的UID)。 如果container内的U

docker网络解析不稳定

Docker 

新创建的容器,可能在容器中还没有缓存到需要的DNS缓存,就会造成部分网络解析不通。可以使用以下两种方法解决此问题: 方法一,添加host: 在docker 命令行中: --add-host='api.embbnux.com:10.98.10.98' 在 docker-compose 中添加: e

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

使用普通用户运行docker容器

Docker 

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

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

Docker 

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