runliuv

runliuv@cnblogs

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  709 随笔 :: 0 文章 :: 127 评论 :: 98万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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

 

posted on   runliuv  阅读(1049)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2019-05-25 vscode springboot logback 日志输出到不同文件
2015-05-25 visual studio 添加虚线的快捷键
点击右上角即可分享
微信分享提示