【Docker】docker安装


需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。


目录

一、Ubuntu安装docker

1、查看操作系统和CPU架构

2、卸载docker

3、配置docker下载源

4、安装docker

5、解决报错

6、自启动配置

7、更换docker镜像源

8、docker目录修改

二、CentOS安装docker

1、查看操作系统和CPU架构

2、卸载docker

3、配置仓库

4、配置使用国内源

5、安装docker

6、自启动docker

7、修改镜像源,更换docker目录

三、问题解决


用于解决嵌入式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正常

轻量应用服务器 安装 Docker 并配置镜像加速源-最佳实践-文档中心-腾讯云 (tencent.com)

相关推荐
张小娟19 分钟前
springCloud使用webSocket(接收端)
websocket·spring·spring cloud
shansheng2 小时前
MacBook部署达梦V8手记
数据库·spring boot·sql·docker·mybatis
张小娟3 小时前
springcloud, nacos使用rabbitMq
spring cloud·rabbitmq
月临水3 小时前
SpringCloud 学习笔记3(OpenFeign)
笔记·学习·spring cloud
逢生博客3 小时前
Docker 部署RabbitMQ
spring boot·docker·容器·rabbitmq
dapeng-大鹏5 小时前
Gone v2 Tracer 组件-给微服务提供统一的traceID
微服务·云原生·架构·golang·traceid·gone
biguojun5 小时前
docker 安装elasticsearch kibana,设置密码
elasticsearch·docker·kibana
新停浊酒杯6 小时前
基于Spring Boot3 Spring Cloud2023 Spring Cloud Alibaba2023对外提供一个分布式微服务最新基础示例模板
spring boot·spring cloud·微服务
宋发元13 小时前
如何设计微服务及其设计原则?
微服务·云原生·架构
极客先躯13 小时前
高级java每日一道面试题-2025年3月04日-微服务篇[Eureka篇]-Eureka是什么?
java·微服务·eureka·集群部署·健康检查·组件和架构·自我保护机制