Ubuntu 22 Docker的使用和安装

确认系统内核版本不低于 3.10 , 并且是 64 位系统, 在终端执行以下命令验证内核及系统信息:

shell 复制代码
$ uname -a
Linux VM-4-14-ubuntu 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

通过上面的输出可知, 当前系统内核版本是 5.15.0-76-generic (实体) 并且系统架构是 64 位 ( x86_64 x86_64 x86_64 GNU/Linux )。

日常使用

镜像相关的操作如下:

  • 查看本地镜像

    shell 复制代码
    $ sudo docker images
  • 删除本地镜像

    shell 复制代码
    $ sudo docker rmi 镜像ID或名称

容器相关的操作如下:

  • 查看所有容器

    shell 复制代码
    $ sudo docker ps -a
  • 查看运行中的容器

    shell 复制代码
    $ sudo docker ps
  • 停止运行中的容器

    shell 复制代码
    $ sudo docker stop 容器ID或名称
  • 删除已停止的容器

    shell 复制代码
    $ sudo docker rm 容器ID或名称
  • 删除运行中的容器 (强制)

    shell 复制代码
    $ sudo docker rm -f 容器ID或名称

安装部署

首先需要更新系统, 打开终端依次执行以下命令:

shell 复制代码
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade

添加 Docker 库

然后安装必要的证书, 并允许 Linux apt 包管理器通过 HTTPS 访问存储库:

shell 复制代码
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

然后运行以下命令添加 Docker 的官方 GPG 密钥:

shell 复制代码
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

再通过以下命令添加 Docker 官方库:

shell 复制代码
$ 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

最后再执行一次更新系统源的命令:

shell 复制代码
$ sudo apt update

安装 Docker

运行以下命令在系统中安装最新的 Docker CE 服务:

shell 复制代码
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

安装完成后, 运行以下命令验证 Docker 是否正常运行并设置每次重启时自动启动:

shell 复制代码
$ systemctl status docker
$ sudo systemctl enable docker

最后使用以下命令查看已安装的 Docker 版本号:

shell 复制代码
$ sudo docker version

测试 Docker

为了保证安装有效性, 还需要执行以下命令测试 Docker 是否运行正常:

shell 复制代码
$ sudo docker run hello-world

上面的命令会下载一个 Docker 测试镜像, 并在容器内执行一个 Hello World 输出。

相关推荐
早睡冠军候选人2 分钟前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
sulikey2 分钟前
从实验出发深入理解Linux目录权限:r、w、x分别控制什么?能否进入目录到底由谁决定?
linux·运维·服务器·ubuntu·centos
叶凡要飞7 分钟前
RTX5060Ti安装双系统ubuntu22.04各种踩坑点(黑屏,引导区修复、装驱动、server版本安装)
人工智能·python·yolo·ubuntu·机器学习·操作系统
疯狂吧小飞牛14 分钟前
ip rule 策略路由
linux·网络·tcp/ip·运维开发
缘友一世28 分钟前
深入理解Shell与反弹Shell:从原理到实战
linux·网络安全·shell
stark张宇43 分钟前
网络排错全流程:从DNS解析到防火墙,逐层拆解常见问题
linux·网络协议·dns
li3714908902 小时前
nginx报400bad request 请求头过大异常处理
java·运维·nginx
久曲健的测试窝2 小时前
Jenkins Share Library教程 —— 开发入门
运维·servlet·jenkins
缘的猿2 小时前
Docker 与 K8s 网络模型全解析
docker·容器·kubernetes
游戏开发爱好者82 小时前
FTP 抓包分析实战,命令、被动主动模式要点、FTPS 与 SFTP 区别及真机取证流程
运维·服务器·网络·ios·小程序·uni-app·iphone