这几天看到一个github上的代码建议采用docker配置环境,就想着试试,这一安装果然不出所料,一堆报错。
写个文章记录一下。
卸载旧版本docker
安装新版本的时候往往要抹除旧版本,不然随时可能有奇怪的bug找到你。
sudo apt-get remove docker docker-engine docker.io contained runc
创建仓库
先用apt-get更新一下包,再安装几个新的包,后续会用到
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
添加GPG键,这个是用来加密和签名的
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
接下来我们创建仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
这里的echo “…” 是将""内的内容输出到控制台,也就是标准输出
‘|’ 是管道符,将’|‘前命令输出作为’|'后面的输入
tee命令将输入内容写入后面的文件中,
'>'是重定向符,这例 > /dev/null表示静默输出,也就是本来要输出到控制台,现在不输出了。
下载最新版docker engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli \
contained.io docker-compose-plugin
如果出现GPG报错信息 试试这个命令
sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update 有可能也会有报错信息,先忽略,最后install的命令运行成功就行。
sudo apt-get install这条命令报错可以尝试执行以下命令
sudo vim /etc/apt/sources.list
在最后一行添加
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
下载指定版本docker engine
apt-cache madison docker-ce
这里红色框内是版本字符串,再用以下命令下载
sudo apt-get install docker-ce=<VERSION_STRING> \
docker-ce-cli=<VERSION_STRING> contained.io docker-compose-plugin
最后验证一下是否安装成功
sudo service docker start
sudo docker run hello-world
这里可能因为网络问题没有下载成功hello-world,想办法解决一下。
最后遇到任何问题首先参考Docker Engine官网下载说明