Ubuntu安装Docker

一,Docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

用过虚拟机的应该对虚拟化技术有点印象,不知道也没关系,就把它当成轻量级的虚拟机吧(虽然一个是完全虚拟化,一个是操作系统层虚拟化)

具体的学习网址如下:

https://www.runoob.com/docker/docker-tutorial.html

二,安装Docker

1.查看内核版本:

sudo uname -a

我是虚拟机装的rocky,linux 5.14 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上, RHEL/Centos 的内核修补过, centos6.5的版本就可以试试)

2.把apt包更新到最新(如果更新过就跳过这步)

先检查

sudo apt update

后更新

sudo apt upgrade

(期间要选择确认,输入 y 即可)

如果不行可以:sudo apt upgrade --fix-missing

3.卸载旧版本(如果是第一次安装跳过这一步):

sudo apt remove docker docker-engine docker.io containerd runc

4.安装需要的包:

sudo apt install apt-transport-https ca-certificates software-properties-common curl

(期间要选择确认,输入 y 即可)

5.添加 GPG 密钥,并添加 Docker-ce 软件源****

(为了速度用的: 中国科技大学的 Docker-ce 源****)****

添加密钥

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

验证密钥: 通过搜索指纹的后8个字符,验证现在是否拥有带有指纹的密钥

sudo apt-key fingerprint 0EBFCD88

添加源

sudo add-apt-repository "deb arch=amd64 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \

$(lsb_release -cs) stable"

#注意:添加错了可以用以下命令删除

#查询keyid,下图

sudo apt-key list

#keyid 就是90那一串

sudo apt-key del <keyid>

#加参数-r可以移除

sudo add-apt-repository -r "deb arch=amd64 https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

6,安装Docker

sudo apt install docker-ce

(期间要选择确认,输入 y 即可)

7, 检查docker 版本:

sudo docker version

8.重启机器,检查是否实现开机启动docker

sudo docker images

如果报错,请重新启动 docker 并加入开机启动

sudo systemctl start docker

sudo systemctl enable docker

9.重新对应一下 docker 的镜像地址

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": "https://yxzrazem.mirror.aliyuncs.com"

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

10 .测试 docker

sudo docker run hello-world

11.docker 基本命令

  1. 查看版本: docker -v

  2. 查看镜像: docker images

  3. 搜索镜像:docker search 镜像关键字

  4. 镜像拉取:docker pull 镜像关键字

  5. 镜像删除:docker rmi 镜像id或镜像名称

(rmi后加空格加-f表示强制删除)

  1. 镜像变成容器:

docker run -d -p 8080:8080 --name tomcat-test tomcat

-d 后台运行

8080:8080 端口映射

--name tomcat-test 设置容器的名字

tomcat 使用的镜像名字

  1. 查询当前全部的容器:docker ps -a

如果去掉-a的话就是查询运行的容器

  1. 删除容器:docker rm 容器id

(rm后加空格加-f表示强制删除)

  1. 进入容器内部:docker exec -it 容器id /bin/bash

  2. 停止容器:docker stop 容器id/容器名字

  3. 启动容器:docker start 容器id/容器名字

  4. 显示容器资源的使用情况: docker stats -a

如果去掉-a的话就是查询运行的容器

CONTAINER ID 与 NAME: 容器 ID 与名称。

CPU % 与 MEM %: 容器使用的 CPU 和内存的百分比。

MEM USAGE / LIMIT: 容器正在使用的总内存,以及允许使用的内存总量。

NET I/O: 容器通过其网络接口发送和接收的数据量。

BLOCK I/O: 容器从主机上的块设备读取和写入的数据量。

PIDs: 容器创建的进程或线程数。

Ctrl + C 退出

相关推荐
Yana.nice3 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
DFT计算杂谈7 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
Zhang~Ling8 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind8 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森8 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
XMAIPC_Robot9 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
重生的黑客9 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice
风曦Kisaki11 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
骑上单车去旅行11 小时前
MD5校验对比脚本
linux·服务器·windows
平生幻11 小时前
Linux 常用命令
linux