ubuntu server 22.04 安装docker
ubuntu server 22.04 安装docker
官方安装文档: https://docs.docker.com/engine/install/ubuntu/
1.更新软件列表:
sudo apt-get update
2.安装Docker所需要的软件
# ca-certificates - 包含常用CA证书
# curl - cURL(Client URL)用于数据传输的命令行工具,此处主要拥有下载签名文件等
# gnupg - 软件分发加密,防止文件被篡改
# lsb-release - 用于显示当前Linux系统的发行版本等信息
sudo apt-get install -y ca-certificates curl gnupg lsb-release
3.下载并添加Docker官方的GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4.添加Docker稳定源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装Docker软件
5.再次更新软件列表
sudo apt-get update
6.安装社区版的命令行,服务器及容器运行时环境
sudo apt-get install docker-ce docker-ce-cli containerd.io
7.通过systemd启动Docker服务
sudo systemctl start docker
8.可以通过status命令查看一下启动状态,此处无须管理员权限
systemctl status docker
如果没有遇到下面的权限问题,则不需要处理:
如果当前用户没有添加到docker组中且没有管理员权限时,用client端命令访问dockerd服务时一般会出现如下错误:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.
一般来说,只要前面步骤没有出错,只需把当前用户加入docker组即可,并登出再登入使得改动在新的回话中生效。
sudo usermod -aG docker $USER
但是有时候docker组并不存在,则需要手动创建一下:
sudo groupadd docker
而笔者碰到的问题是:docker组已经创建好了,当前用户也添加到了该组中,也登入登出,但权限问题仍然存在。这时候还需要执行一下以下命令,手动激活以下组相关的改动
sudo newgrp docker
当然还有些小伙伴们会遇到其它权限问题,比如socket文件权限不正确,解决办法有两种:
a. 删掉/var/run/docker.sock,重启docker服务
b. 通过chmod/chown手动改该文件权限,具体权限内容参考如下
$ ls -al /var/run/docker.sock
srw-rw---- 1 root docker 0 Jan 28 17:00 /var/run/docker.sock
9.测试一下是否能运行
sudo docker run hello-world
10.docker 加速镜像:
没有daemon.json 的情况
# Step#1 进到 /etc/docker/ 目录下,自己创建daemon.json文件
cd /etc/docker/
sudo touch daemon.json
# Step#2 编辑文件
方式一,使用VI
sudo vi daemon.json
方式二,sudo chmod 777 daemon.json 之后,用FinalShell 直接修改
(强制退出vi,:qa!)
编辑 /etc/docker/daemon.json 文件,添加下面的内容:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
改文件后重启daemon和docker
sudo systemctl daemon-reload
sudo systemctl restart docker
ubuntu server 22.04 安装docker的更多相关文章
- Ubuntu Server 12.04安装图解教程
Ubuntu S ...
- Ubuntu Server 16.04 安装MySQL并设置远程访问
Ubuntu Server 16.04 安装MySQL 1. 使用root账号 sudo apt-get install mysql-serversudo apt-get install mysql- ...
- Ubuntu Server 12.04 安装 Jabberd2 服务器
本篇文章由:http://xinpure.com/install-ubuntu-server-12-04-jabberd2-server/ Ubuntu Server 12.04 安装 Jabberd ...
- 阿里云ECS,Ubuntu Server 16.04安装图形界面远程控制
最近阿里云有新用户免费体验6个月的活动,虽说是免费体验,但是还是要买个它们的产品才行,我就花9.9买了个最便宜的,然后就获得了一个乞丐版的ECS服务器,配置是1核内存1G.系统装的是Ubuntu Se ...
- Ubuntu server 16.04安装,无网卡驱动解决
因为使用一个软件必须要在ubuntu server 16.04上安装,因此先在裸机上安装ubuntu server 16.04,具体信息: 镜像版本:ubuntu-16.04.6-server-amd ...
- ubuntu kylin 18.04安装docker笔记
删除原有的docker应用(如果有的话): sudo apt-get remove docker docker-engine docker.io 更新一下: sudo apt-get update 下 ...
- Ubuntu Server 17.04安装GNOME指令
短短几行指令,从安装到打开: apt-get install gnome-shell apt-get install xinit xshell 开启 关闭: Ctrl+Alt+F1 Ctrl+A ...
- ubuntu server 16.04 安装过程中提示无法安装busybox-initramfs
这个问题在安装desktop版本时是不会出现的,只有server才有这个问题. 出现这个问题与硬件平台无关,不管是虚拟机还是物理机都会出现,解决的办法是在安装开始界面选择English,后面Langu ...
- ubuntu server 16.04安装GPU服务器
1 Ubuntu16.04 系统安装过程中,需要勾选openssh-server 方便远程连接 2 必须安装gcc 与g++ 3 安装显卡驱动 NVIDIA-Linux-x86_64-367.57.r ...
- Ubuntu Server 16.04安装xfce4图形界面远程控制
1.首先连接上你的服务器,然后安装vncserver,命令如下 apt-get install vnc4server 2.安装图形界面 apt-get install xfce4如果安装不上,就 ap ...
随机推荐
- 力扣183(MySQL)-从不订购的客户(简单)
题目: 某网站包含两个表,Customers 表和 Orders 表.编写一个 SQL 查询,找出所有从不订购任何东西的客户. Customers 表: Orders 表: 解题思路: 需要查询出没 ...
- MySQL深潜|剖析Performance Schema内存管理
简介: 本文主要是通过对PFS引擎的内存管理源码的阅读,解读PFS内存分配及释放原理,深入剖析其中存在的一些问题,以及一些改进思路. 一 引言 MySQL Performance schema(PF ...
- [PHP] Laravel 获取模型/表的所有字段
获取指定表的所有字段名: use Illuminate\Support\Facades\Schema; // 表名不带前缀 $columns = Schema::getColumnListing( ...
- 探索 WPF 的 ITabletManager.GetTabletCount 在 Win11 系统的底层实现
本文将和大家介绍专为 WPF 触摸模块提供的 ITabletManager 的 GetTabletCount 方法在 Windows 11 系统的底层实现 本文属于 WPF 触摸相关系列博客,偏系统底 ...
- dotnet C# 如果在构造函数抛出异常 是否可以拿到对象赋值的变量
如果使用某个变量去获取某个类型的对象创建,但是在这个类型的构造函数调用时抛出异常,请问此变量是否可以拿到对应的对象 如下面代码 private void F1() { Foo foo = null; ...
- 4.prometheus监控--监控linux服务器
一.监控linux服务器 1.1 二进制安装 # 客户端操作wget https://github.com/prometheus/node_exporter/releases/download/v1. ...
- 有意思!一个关于 Spring 历史的在线小游戏
发现 Spring One 的官网上有个好玩的彩蛋,分享给大家! 进到Spring One的官网,可以看到右下角有个类似马里奥游戏中的金币图标. 点击该金币之后,会打开一个新的页面,进入下面这样一个名 ...
- [Python急救站]人脸识别技术练习
这段时间做了一个用于初学者学习人脸识别系统的程序,在上代码时,先给说说事前准备: 首先我们需要一个OpenCV的一个haarcascade_frontalface_default.xml文件,只要去G ...
- Spring6 当中的 Bean 循环依赖的详细处理方案+源码解析
1. Spring6 当中的 Bean 循环依赖的详细处理方案+源码解析 @ 目录 1. Spring6 当中的 Bean 循环依赖的详细处理方案+源码解析 每博一文案 1.1 Bean的循环依赖 1 ...
- swagger文档枚举类型描述
背景: 问题:使用swagger作为api文档,但文档中的枚举类型仅显示枚举name,对于使用文档的人员来讲不容易理解 解决思路:枚举类型加上自定义的描述 解决方案 maven配置 <depen ...