1. 更新docker的版本到大于或等于19.03
1.1 x86下如何更新docker?
$ sudo apt install -y apt-transport-https
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
1.2 检查以下docker的版本
$ docker --version
2. 编辑~/.docker/config.json文件来使能这个处于实验阶段的buildx功能(按照官方文档修改此配置文件并未生效)
$ cat ~/.docker/config.json
{
"experimental": "enabled"
}
2.1 笔者通过往/etc/docker/daemon.json文件中添加以下内容即可生效(生效需要重启docker)
$ cat /etc/docker/daemon.json
{
"experimental": true
}
3. 重启docker使配置生效
$ sudo systemctl restart docker
4. 检查docker是否使能处于实验阶段的新特性
$ sudo docker info | grep -i exp
Experimental: true (输出此信息表明已启用处于实验阶段的新特性)
5. switch to a different driver
$ sudo docker buildx create --name testbuilder --driver-opt env.http_proxy=$http_proxy --driver-opt env.https_proxy=$https_proxy --driver-opt '"env.no_proxy='$no_proxy'"'
$ sudo docker buildx use testbuilder
6. 开始构建(保证当前目录下有Dockerfile文件)
$ sudo docker buildx build --platform linux/amd64,linux/arm64,linux/armv7 -t test_demo:1.0 .
7. 参考资料
https://github.com/docker/buildx/#installing