一、问题
在使用docker-compose安装ETL的时候,报了如下错误:
Building elasticsearch
Step 1/2 : ARG ELK_VERSION
ERROR: Service 'elasticsearch' failed to build: Please provide a source image with `from` prior to commit
查询了下,看来基本是docker版本过低的问题,所以得升级一下docker 版本
https://stackoverflow.com/questions/45588976/docker-build-failing-when-arg-instruction-is-given-before-from-in-dockerfile
二、卸载老版本
停止docker服务
systemctl stop docker
查看当前版本
rpm -qa | grep docker
卸载软件包
yum erase docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
删除相关配置
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /lib/systemd -name '*docker*' -exec rm -f {} \;
#删除以前已有的镜像和容器,非必要
rm -rf /var/lib/docker
rm -rf /var/run/docker
三、安装新版本
软件包安装
yum install -y yum-utils device-mapper-persistent-data lvm2
安装镜像源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
查看可安装版本
yum list docker-ce --showduplicates | sort -r
安装最新版本
yum install docker-ce -y
启动并设置开机启动
systemctl start docker
systemctl enable docker
docker version查看版本信息,完成!
如果已经在docker环境中跑了很多容器应用,建议不要升级,升级完后很有可能导致之前的容器无法启动,影响应用访问。