需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。
目录
用于解决嵌入式Linux镜像、环境问题。
一、Ubuntu安装docker
1、查看操作系统和CPU架构
2、卸载docker
先输入docker看看有没有这个命令。有的话可以先卸载。
bash
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y
#删除docker的缓存目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /data/var/lib/docker
sudo rm -rf /etc/docker/daemon.json
3、配置docker下载源
bash
#curl 命令安装
sudo apt install curl -y
#创建 gpg key 目录
sudo mkdir -m 0755 -p /etc/apt/keyrings
#下载 gpg key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signedby=/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
4、安装docker
bash
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
5、解决报错
bash
#journalctl 是操作系统日志查看命令
#-e 表示从末尾看
#-u 表示看哪个系统组件的,我们的组件是 docker
journalctl -eu docker
修复报错如下6:
6、自启动配置
bash
#重新加载配置
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开机启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker
#查看docker版本
sudo docker version
7、更换docker镜像源
bash
sudo mkdir /etc/docker
sudo cd /etc/docker
sudo vim daemon.json
#在该json中新增
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
#重新加载配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker
8、docker目录修改
Docker 默认的安装目录为/var/lib/docker,这里面会存放很多很多镜像,所以在安装的时候需要考虑这个目录的空间
(1)将/var/lib/docker 挂载到一个大的磁盘,这种一般我们能控制挂载目录,像腾讯云这种云厂商在安装 K8s 的节点的时候提供了挂载选项,可以直接挂载这个目录过去
(2)安装之前挂载一个大的磁盘,然后创建一个软链接到/var/lib/docker,这样就自动安装到我们空间比较大的磁盘了
(3)安装了 docker,然后发现忘了配置这个目录,我们需要修改 docker 的配置文件
bash
#假定大磁盘目录为 /data
mkdir -p /data/var/lib/docker
# 编辑配置文件
vi /etc/docker/daemon.json
# 输入下面的 json
{
"data-root": "/data/var/lib/docker"
}
# 加载配置
sudo systemctl daemon-reload
# 重启 docker
sudo systemctl restart docker
#查看 docker 状态
sudo systemctl status docker
二、CentOS安装docker
1、查看操作系统和CPU架构
2、卸载docker
bash
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#删除机器上的包
sudo yum remove docker-ce docker-ce-cli containerd.io dockerbuildx-plugin docker-compose-plugin docker-ce-rootless-extras
#执行卸载
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
#根据实际情况设置
sudo rm -rf /data/var/lib/docker
sudo rm -rf /etc/docker/daemon.json
3、配置仓库
bash
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、配置使用国内源
bash
sudo sed -i 's@//download.docker.com@//mirrors.ustc.edu.cn/docker-ce@g' /etc/yum.repos.d/docker-ce.repo
5、安装docker
bash
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6、自启动docker
bash
#配置加载
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开机启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker
# 查看docker版本
docker -v
#使用docker运行hello-world
sudo docker run hello-world
7、修改镜像源,更换docker目录
见Ubuntu7、8节
三、问题解决
遇到docker pull拉取镜像不稳定的情况(第一天可以正常拉取,隔日拉取超时的情况)后来发现是镜像源不稳定,更换腾讯云镜像后docker pull正常