Coreos配置docker镜像加速器
阅读原文时间:2023年07月10日阅读:1
  • CoreOS配置docker镜像加速器

CoreOS下的Docker配置是通过flannel unit来实现的。

1) 通过命令 systemctl cat docker 可以看出配置文件的默认位置

systemctl cat docker

# /etc/systemd/system/docker.service    '''也可能是/run/systemd/system/docker.service'''
[Unit]
略……

[Service]
EnvironmentFile=/run/metadata/torcx
Environment=TORCX_IMAGEDIR=/docker
Type=notify
EnvironmentFile=-/run/flannel/flannel_docker_opts.env '''务必找到这一行,这个文件默认是没有的,需手动创建相应目录和文件'''
Environment=DOCKER_SELINUX=--selinux-enabled=true

2) 创建相应目录和文件,并编辑该配置文件

# cd /run

mkdir flannel

cd flannel

touch flannel_docker_opts.env

vim !$

'''添加下如下内容:'''
DOCKER_OPTS="--registry-mirror=https://xxxx.mirror.aliyuncs.com"    '''登陆阿里云获取镜像加速器地址'''

3) 重启docker服务

# systemctl daemon-reload

systemctl restart docker

ps aux |grep docker '''验证是否看到镜像加速器地址'''

  • CoreOS自带的docker版本过低

'''查看coreos版本'''

uname -a

cat /proc/version

'''查看docker与docker-compose版本'''

docker -v

docker-compose -v

没有找到直接卸载docker的方式,可通过升级coreos来实现docker的升级(高版本的coreos会自带高版本的docker)

有关CoreOS升级的两个基本概念——升级通道 & 升级策略

(1)升级通道

  官方提供了三个升级通道,分别为 Alpha、Beta 和 Stable,简单来说就是每个大版本升级的 内测、 公测 和 正式发行版。

  各通道发布更新的频率依次为(官方目标数据,实际可能不准时):

  • Alpha:每周星期四发布
  • Beta:每两周发布一次
  • Stable:每个月发布一次   --->  推荐

(2)升级策略

  关系到系统自动升级后用户是否需要手工重启。它的值可以是 best-effort(默认值)、 etcd-lock、 reboot 和 off。其作用依次解释如下:

  • best-effort:如果Etcd运行正常则相当于 etcd-lock,否则相当于 reboot
  • etcd-lock:自动升级后自动重启,使用 LockSmith 服务调度重启过程
  • reboot:自动升级后立即自动重启系统
  • off:自动升级后等待用户手工重启  ---> 推荐

(3)在/etc/coreos/update.conf 配置文件中修改升级通道和升级策略

  对于已经启动的集群,可以在 /etc/coreos/update.conf 配置文件中修改,其内容格式如下:

GROUP=alpha
REBOOT_STRATEGY=best-effort

  修改完成后需要重启一下 update-engine 服务:

sudo systemctl restart update-engine

手动升级CoreOS

  检测升级:

# update_engine_client -check_for_update

  执行升级:

# update_engine_client -update

  '''升级前docker版本为1.12,升级后docker版本为18.03'''