标签归档:docker

docker下ElasticSearch的坑之重启物理机

重启物理机后,容器无法正常启动,提示:

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

官方文档只有设置sysctl -w vm.max_map_count=262144,然而该设置在重启后会被重置,于是我们要将该设置固化:

echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p

为威联通nas设置docker hub加速源

威联通的nas相对于群晖来说,价格便宜,且低端ARM版本也支持docker,自然是穷人的第一选择。
目前(硬件TS-428,固件4.3.6)来说,威联通nas上的docker有两个大坑:

不能运行非ARM镜像(ARM版CPU限定)

解决方法:
1. ARM版镜像(ARM32v7ARM64v8
2. 兼容版本,国际大厂的镜像大都一个tag对应多个架构版本。
3. 本地编译镜像源码。

默认不能设置docker hub的加速源

按照常规思路,我们打开Container Station,进入属性页面,准备设置Registry服务器:

发现默认服务器地址居然是灰色的,不能修改。即使额外新增了一个Registry服务器,默认Container Station还是使用docker hub原来的地址。
这时候我们只能在ssh下修改了。使用任意终端工具,ssh [email protected]的地址,输入密码后登陆到shell。

输入which docker,找到docker的安装目录,如下图,是/share/CACHEDEV1_DATA/.qpkg/container-station/bin/。我们进入该目录后,跳转到../etc/目录。这时修改目录下的docker.json文件,该文件就是Linux下的/etc/docker/daemon.json(Linux)和 Windows下的%programdata%\docker\config\daemon.json

Json配置文件格式见官方文档,可以简单写为:

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

其中https://docker.mirrors.ustc.edu.cn是中科大的docker加速源地址,可以替换成其他地址。
保存文件后,运行/etc/init.d/container-station.sh restart重启docker服务,大概耗时1分钟。
这样,nas的docker hub加速源就设置完成了。

拉取镜像时,尽量用docker pull 命令。在Web界面操作会在选择tag界面卡很久。


1月14日补充

docker加速源也不是很稳定,今天差点让我误以为方法有问题。建议先在本地确认加速源有效,再执行上面的操作。
就我个人而言,加速源稳定性排名如下:
1. 阿里云
2. 中科大 https://docker.mirrors.ustc.edu.cn
3. Docker官方中国源 https://registry.docker-cn.com

目前,腾讯云加速源已不可用,dns解析失败。