介绍
介绍
福哥在使用docker-compose工具build镜像的时候得到了如下的错误信息:
[root@dev TFLinux]# docker-compose build mysql Building mysql unknown flag: --iidfile See 'docker build --help'. ERROR: Service 'mysql' failed to build : Build failed
各种搜索发现都没有人发现这个问题,结果从一个老外那里得到了一些灵感,大概是说我的docker版本和docker-compose版本过低的原因。
卸载旧版本
查看安装列表
使用yum查看已经安装的列表。
yum list installed | grep docker
卸载列表软件
使用yum remove逐个卸载列表内的软件。
yum -y remove docker yum -y remove docker-client yum -y remove docker-common
安装yum-config-manager
网上的教程都是使用yum-config-manager,可是我们的TFLinux没有啊!怎么办?
使用下面的命令安装yum工具包。
yum -y install yum-utils
安装新版本
添加docker的镜像源
使用yum-config-manager添加docker的镜像源。
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
查看可用的docker版本
使用yum list查看docker可用版本列表,并且把最新版本显示到最后。
yum list docker-ce --showduplicates | sort -r
安装最新版本docker
使用yum install安装最新版本的docker,也就是18.06.3.ce-3.el7这个版本。
yum -y install docker-ce-18.06.3.ce-3.el7
启动docker
使用systemctl启动docker。
systemctl start docker systemctl enable docker
查看docker版本信息
使用docker version查看当前的docker版本。
docker --version
测试
好了,已经升级了docker了,再来build镜像试试看吧。
[root@dev TFLinux]# docker-compose build mysql Building mysql Sending build context to Docker daemon 3.584kB Step 1/8 : FROM mysql:5.7 5.7: Pulling from library/mysql Digest: sha256:a682e3c78fc5bd941e9db080b4796c75f69a28a8cad65677c23f7a9f18ba21fa Status: Downloaded newer image for mysql:5.7 ---> 2c9028880e58 Step 2/8 : MAINTAINER Andy Bogate ---> Running in 5a88f6b4bea1 Removing intermediate container 5a88f6b4bea1 ---> 81c2a429f2a1 Step 3/8 : MAINTAINER tongfu@tongfu.net ---> Running in 6737791fe0a2 Removing intermediate container 6737791fe0a2 ---> 333194fbe01d Step 4/8 : MAINTAINER http://docker.tongfu.net ---> Running in 0706e1799a31 Removing intermediate container 0706e1799a31 ---> 5a69c60c0693 Step 5/8 : MAINTAINER 2021/5/12 ---> Running in c2c9e511b30a Removing intermediate container c2c9e511b30a ---> 483de9a669f2 Step 6/8 : MAINTAINER v1.0.0 ---> Running in bf4803c92b18 Removing intermediate container bf4803c92b18 ---> 2e886ee59695 Step 7/8 : EXPOSE 3306 ---> Running in 18ce6a60962a Removing intermediate container 18ce6a60962a ---> 059508b3fff0 Step 8/8 : COPY mysqld.conf /etc/mysql/mysql.conf.d/mysqld.cnf ---> 018f0f80e010 Successfully built 018f0f80e010 Successfully tagged tflinux-mysql5.7:latest
终于成功了!!
总结
docker的发展非常快,而且都是大踏步的前进。很多时候我们遇到了一些稀奇古怪的问题的时候,都是因为我们的环境的软件版本太旧了的缘故。所以我们要有一颗年轻的心,拥抱新事物,积极了解新东西,学习新东西,从而不被时代抛弃~~