Docker在Ubuntu和CentOS系统下的安装

news2025/2/25 6:21:42

目录

  • 1. 各版本平台支持情况
  • 2. 在Ubuntu系统下安装docker
  • 3. 常见报错
  • 4. Docker的镜像源修改
  • 5. Docker目录修改
  • 6. 在CentOS系统下安装docker

1. 各版本平台支持情况

(1)平台支持情况如下:

  • Server 版本

  • 桌面版本

2. 在Ubuntu系统下安装docker

(1)确定 CPU。可以看到我们的是 X86_64,是支持的,如果是 arm 一般会显示aarch64:

[xiaomaker@xiaomaker-virtual-machine:docket]$ uname -a
Linux xiaomaker-virtual-machine 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov  6 17:42:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

(2)确定操作系统版本,本次我们使用的是Ubuntu 22.04.1:

[xiaomaker@xiaomaker-virtual-machine:docket]$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

(3)卸载旧版本,如果是新购买的云服务器是没有的,比如输入 docker 并没有这个命令,就不需要卸载:

[xiaomaker@xiaomaker-virtual-machine:docket]$ sudo apt-get remove docker docker-engine
docker.io containerd runc
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package docker-engine

(4)卸载历史版本:

#卸载软件
sudo apt-get purge docker-ce docker-ce-cli containerd.io dockerbuildx-plugin docker-compose-plugin docker-ce-rootless-extras -y
#删除目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

(5)配置 docker 下载源:

#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

(6)安装:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

(7)查看安装结果:


(8)自动启动配置:

#配置加载
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开启启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker

(9)检查安装结果查看版本:

[xiaomaker@xiaomaker-virtual-machine:docket]$ docker version
Client: Docker Engine - Community
Version: 23.0.1
API version: 1.42
Go version: go1.19.5
Git commit: a5ee5b1
Built: Thu Feb 9 19:46:56 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.1
API version: 1.42 (minimum version 1.12)
Go version: go1.19.5
Git commit: bc3805a
Built: Thu Feb 9 19:46:56 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.18
GitCommit: 2456e983eb9e37e47538f59ea18f2043c9a73640
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0

(9)更详细查看 docker 信息:

[xiaomaker@xiaomaker-virtual-machine:docket]$ docker info

(10)执行 hello-world 可以看到 Hello from Docker,表面 docker 服务正常:

[xiaomaker@xiaomaker-virtual-machine:docket]$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest:
sha256:6e8b6f026e0b9c419ea0fd02d3905dd0952ad1feea67543f525c73a0a790fefb
Status: Downloaded newer image for hello-world:latest Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the
Docker Hub.(amd64)
3. The Docker daemon created a new container from that image
which runs the executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client,
which sent it 
	to your terminal.
	
To try something more ambitious, you can run an Ubuntu container
with: $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/

For more examples and ideas, visit: https://docs.docker.com/get-started/

3. 常见报错

(1)报错截图:


(2)查看日志:

#journalctl 是操作系统日志查看命令
#-e 表示从末尾看
#-u 表示看哪个系统组件的,我们的组件是 docker
journalctl -eu docker

(3)查看报错:


(4)执行如下命令修复:

systemctl daemon-reload
systemctl start docker

4. Docker的镜像源修改

(1)对于使用 systemd 的系统(Ubuntu 16.04+、 Debian 8+、 CentOS 7), 在配置文件/etc/docker/daemon.json 中加入:

{
	"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}

(2)重新启动 dockerd:

sudo systemctl restart docker

(3)参考链接:https://mirrors.ustc.edu.cn/help/dockerhub.html。

5. Docker目录修改

(1)Docker 默认的安装目录为/var/lib/docker,这里面会存放很多很多镜像,所以我们在安装的时候需要考虑这个目录的空间,有三种解决方案。

  1. 将/var/lib/docker 挂载到一个大的磁盘,这种一般我们能控制挂载目录,像腾讯云这种云厂商在安装 K8s 的节点的时候提供了挂载选项,可以直接挂载这个目录过去。
  2. 安装之前挂载一个大的磁盘,然后创建一个软链接到/var/lib/docker,这样就自动安装到我们空间比较大的磁盘了。
  3. 安装了 docker,然后发现忘了配置这个目录,我们需要修改 docker 的配置文件。
#假定我们磁盘的大的目录为 /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

(2)修改前在/var/lib/docker目录下:


(3)修改后在/data/var/lib/docker目录下:

6. 在CentOS系统下安装docker

(1)卸载旧版本:

sudo yum remove docker \
	docker-client \
	docker-client-latest \
	docker-common \
	docker-latest \
	docker-latest-logrotate \
	docker-logrotate \
	docker-engine

(2)卸载历史版本:

#删除机器上的包
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

(3)配置仓库:

[xiaomaker@centos1 ~]$ ll /etc/yum.repos.d/
total 40
-rw-r--r--. 1 root root 1664 Nov 23 2020 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23 2020 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Nov 23 2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Nov 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Nov 23 2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 Nov 23 2020 CentOS-Vault.repo
-rw-r--r--. 1 root root 616 Nov 23 2020 CentOS-x86_64-kernel.repo

[xiaomaker@centos1 ~]$ sudo yum install -y yum-utils
[xiaomaker@centos1 ~]$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror adding repo from: https://download.docker.com/linux/centos/dockerce.repo
grabbing file https://download.docker.com/linux/centos/dockerce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

[xiaomaker@centos1 ~]$ ll /etc/yum.repos.d/
total 44
-rw-r--r--. 1 root root 1664 Nov 23 2020 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23 2020 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Nov 23 2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Nov 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Nov 23 2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 Nov 23 2020 CentOS-Vault.repo
-rw-r--r--. 1 root root 616 Nov 23 2020 CentOS-x86_64-kernel.repo
-rw-r--r--. 1 root root 1919 Apr 5 07:45 docker-ce.repo
# 配置使用国内源
[xiaomaker@centos1 ~]$ sed -i 's@//download.docker.com@//mirrors.ustc.edu.cn/docker-ce@g' /etc/yum.repos.d/docker-ce.repo

(4)安装最新版本:

sudo yum install -y docker-ce docker-ce-cli containerd.io dockerbuildx-plugin docker-compose-plugin

(5)启动 docker:

#配置加载
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开启启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2261790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图形化界面MySQL(MySQL)(超级详细)

目录 1.官网地址 1.1在Linux直接点击NO thanks..... 1.2任何远端登录,再把jj数据库给授权 1.3建立新用户 优点和好处 示例代码(MySQL Workbench) 示例代码(phpMyAdmin) 总结 图形化界面 MySQL 工具大全及其功…

IP数据云查询IP归属地信息

互联网时代,我们每天都会面对大量的网站或App,但你们是否知晓,所有程序员进行程序或者系统的开发都离不开查询IP地址,这是由于对于每个安全的网站/软件来说,基础的服务日志,登录IP等就离不开IP归属地离线库&#xff0c…

PH热榜 | 2024-12-17

1. Eden 标语:一键用AI生成网页评论。 介绍:Eden是一款人工智能驱动的社交插件,只需点击表情符号就能在任何网页上评论。它能自动总结网页内容并生成个性化评论。 想调侃朋友、表达喜爱,还是快速评论几句?用Eden&…

Hadoop学习笔记(包括hadoop3.4.0集群安装)(黑马)

Hadoop学习笔记 0-前置章节-环境准备 0.1 环境介绍 配置环境:hadoop-3.4.0,jdk-8u171-linux-x64 0.2 VMware准备Linux虚拟机 0.2.1主机名、IP、SSH免密登录 1.配置固定IP地址(root权限) 开启master,修改主机名为…

ChatGPT Search开放:实时多模态搜索新体验

点击访问 chatTools 免费体验GPT最新模型,包括o1推理模型、GPT4o、Claude、Gemini等模型! ChatGPT Search:功能亮点解析 本次更新的ChatGPT Search带来了多项令人瞩目的功能,使其在搜索引擎市场中更具竞争力。 1. 高级语音模式&…

php基础:正则表达式

1.正则表达式 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。到目前为止,我们前面所用过的精确(文本)匹配也是一种正则表达式。 在PHP中,正则表达式一般是由正规字…

PHP代码审计学习(一)--命令注入

1、漏洞原理 参数用户可控&#xff0c;程序将用户可控的恶意参数通过php可执行命令的函数中运行导致。 2、示例代码 <?php echorec-test; $command ping -c 1 .$_GET[ip]; system($command); //system函数特性 执行结果会自动打印 ?> 通过示例代码可知通过system函…

CTFHub-ssrf

技能树--Web--SSRF 内网访问 开启题目 尝试访问位于127.0.0.1的flag.php吧 进入环境 根据提示输入即可 127.0.0.1/flag.php 伪协议读取文件 开启题目 尝试去读取一下Web目录下的flag.php吧 进入环境&#xff0c;根据提示输入 file:///var/www/html/flag.php 鼠标右键查看…

Stable Diffusion Controlnet常用控制类型解析与实战课程 4

本节内容&#xff0c;是stable diffusion Controlnet常用控制类型解析与实战的第四节课程。上节课程&#xff0c;我们陆续讲解了几个与图像风格约束相关的控制类型&#xff0c;本节课程我们再学习一些实用价值较高的控制类型&#xff0c;看一看他们提供了哪些控制思路。 一&…

DC-8笔记

靶机信息 官网地址:DC: 8 ~ VulnHub DC-8 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.This challenge is a bit of a hybrid between being an actual challenge, and being a "proof of c…

购物商城案例 1-- VueCli创建项目,调整目录,vant组件库

基于VueCli创建项目 调整目录&#xff0c;新增两个目录 修改路由和App.vue 路由中规则清空 新建文件夹api和utils api文件夹&#xff1a;发请求的一些文件 utils文件夹&#xff1a;工具函数方法 vant组件库&#xff1a;第三方vue组件库 vant-ui 找到vant官网&#xff0c;进入va…

npm : 无法加载文件 D:\nodejs\npm.ps1

问题描述 npm run serve 启动一个Vue项目&#xff0c;报错如下&#xff1a; npm : 无法加载文件 D:\nodejs\npm.ps1&#xff0c;因为在此系统上禁止运行脚本。有关详细信息&#xff0c;请参阅 https:/go.microsoft.com/fwlink/? LinkID135170 中的 about_Execution_Policies。…

12.17双向链表,循环链表

循环单向链表 1.头文件test.h #ifndef __TEST_H_ #define __TEST_H_#include<stdio.h> #include<stdlib.h>typedef struct node {union{int len;int data;};struct node *next; }looplink,*looplinkPtr;//创建 looplinkPtr create();//判空 int empty(); //申请…

【多模态】MiniCPM-V多模态大模型使用学习

MiniCPM-V模型使用 前言1. 模型文件下载和选择2. 环境安装配置3. 模型微调3.1 qlora微调minicpm-v-int43.2 lora微调minicpm-v3.3 merge_lora3.4 lora微调后量化int4 4. 模型推理4.1 huggingface API4.2 swift API(A) swift&#xff08;不支持batch inference&#xff09;(B) s…

VMware ubuntu12.04怎么设置静态IP联网

记得刚开始学习嵌入式就是从ubuntu12.04的环境开始学习的C语言&#xff0c;当时没有弄清楚怎么设置静态IP联网&#xff0c;现在写一篇文章。 1.首先&#xff0c;关闭ubuntu的网络&#xff1b; 2.电脑使用的是wifi,将VMware桥接到该网卡上&#xff1b; 3.在虚拟机设置里面选择桥…

vs 调试

常用&#xff1a; 调试->窗口-> 断点 监视 自动窗口 局部变量 调用堆栈 内存 反汇编&#xff08;也可以右键&#xff0c;转到反汇编&#xff09; 寄存器 快捷键&#xff1a; F5:启用调试&#xff0c;经常用来跳到下一个断点处 F9创建断点和取消断点。断点的重要作用&…

从构想到实现:EasyOne 多模态 AI 产品开发历程

在人工智能技术飞速发展的今天&#xff0c;智能产品和服务已经从单一的应用向多模态智能系统进化。随着大语言模型、计算机视觉、语音识别等领域的突破&#xff0c;开发集成多种 AI 技术的平台变得日益重要。为此&#xff0c;我们开发了 EasyOne&#xff0c;一个全新的 AI 多模…

游戏引擎学习第43天

仓库 https://gitee.com/mrxiao_com/2d_game 介绍运动方程 今天我们将更进一步&#xff0c;探索运动方程&#xff0c;了解真实世界中的物理&#xff0c;并调整它们&#xff0c;以创建一种让玩家感觉愉悦的控制体验。这并不是在做一个完美的物理模拟&#xff0c;而是找到最有趣…

【已解决】启动此实时调试器时未使用必需的安全权限。要调试该进程,必须以管理员身份运行此实时调试器。是否调试该进程?

【已解决】启动此实时调试器时未使用必需的安全权限。要调试该进程&#xff0c;必须以管理员身份运行此实时调试器。是否调试该进程? 目录一、前言二、具体原因三、解决方法 目录 报错截图 一、前言 进行应用程序开发时&#xff0c;需要对w3wp进行附加调试等场景&#xff…

idea无法识别文件,如何把floder文件恢复成model

前景&#xff1a; 昨天&#xff0c;我在之前的A1214模块包下新增了一个demo类&#xff0c;然后又新建了一个A1216模块&#xff0c;写了算法题&#xff0c;后面打算用git提交&#xff0c;发现之前的A1214模块下的demo类和新建的模块源文件都已经被追踪了&#xff0c;都是绿色的&…