debian 安装 docker 及docker 基本使用

2025-03-07 12:01:33 6点赞 17收藏 0评论

docker 对于很多服务的部署都很方便,但是不同的系统,安装的过程不太一样,liunx安装更是会有一些坑。我梳理了一个基本不会出问题的安装方式,仅供大家参考。

安装sudo

debian 默认是不包含 sudo 命令的, 需要权限的命令都要切换到 root 才能使用,不太方便,所以先安装 sudo 命令包,如果一直在root用户执行,则不需要安装,直接跳转到docker安装就可以。

# 切换到root 用户 su -debian 安装 docker 及docker 基本使用

1 升级安装包

# 升级安装包 apt updatedebian 安装 docker 及docker 基本使用

2 安装sudo

# 安装sudo apt install sudodebian 安装 docker 及docker 基本使用

3 添加 用户 到 sudo 组

1 编辑 /etc/sudoers 文件

vi /etc/sudoers

2 添加用户配置

使用方向键在文件中找到类似以下的行:

root ALL=(ALL:ALL) ALL

按 i 键 进入编辑模式

在其下方添加以下内容:

dongyang ALL=(ALL:ALL) ALL

debian 安装 docker 及docker 基本使用

会提示文件是只读,没有关系,退出时加入 !号就可以强行保存了。

保存并退出

Esc,然后输入 :wq! 保存并退出。

3 查看 sudoers 中是否保存成功

cat /etc/sudoersdebian 安装 docker 及docker 基本使用

4 退出 root 用户并验证

# 退出 root exit # 验证用户是否有 root 权限 sudo whoamidebian 安装 docker 及docker 基本使用

出现 root 就是配置成功。

安装 unzip

之后在系统内安装很多的软件可能需要,如果只安装docker 可以跳过。

# 安装 unzip sudo apt install unzipdebian 安装 docker 及docker 基本使用

验证

# 验证 unzipdebian 安装 docker 及docker 基本使用

可运行证明安装成功

安装 docker

这里提供的命令默认是安装过sudo 的。 如果没有安装 ,把命令中的 sodu 去掉。

比如: sudo apt-get updat 改成 apt-get updat

1. 更新系统包

在安装 Docker 之前,建议先更新系统中的软件包:

# 更新系统包 sudo apt-get update sudo apt-get upgrade -y

2. 安装必要的依赖

安装一些必要的工具和依赖,以便后续操作:

# 安装必要依赖和工具 sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

3. 添加 Docker 官方仓库

将 Docker 官方仓库添加到系统的软件源列表中:

# 将 Docker 官方仓库添加到系统的软件源列表中: echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list.d/docker.list > /dev/null

4. 添加 Docker 官方 GPG 密钥

Docker 官方仓库使用 GPG 密钥签名,因此需要导入该密钥:

# Docker 官方仓库使用 GPG 密钥签名,因此需要导入该密钥: curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

5. 更新 APT 缓存

更新 APT 的软件包索引,以确保系统可以识别新添加的 Docker 仓库:

# 更新 APT 的软件包索引,以确保系统可以识别新添加的 Docker 仓库 sudo apt-get update

6. 安装 Docker

安装 Docker Engine 和 containerd

# 安装 Docker Engine 和 containerd: sudo apt-get install -y docker-ce docker-ce-cli containerd.io

7. 验证 Docker 是否安装成功

运行以下命令,检查 Docker 是否安装:

docker --version

如果一切正常,你会看到一条 docer 的版本信息,说明 Docker 已成功安装。

8 修改国内镜像源(建议)

在终端输拷贝以下命令.两个镜像源的地址可以改成确定可用的.

sudo tee /etc/docker/daemon.json <

以上的两个镜像源在 2015-2-21 是可以用.

9 将用户添加到 docker 组 (可选)

默认情况下,只有 root 用户可以运行 Docker 命令,一般用户需要加 sudo 才可以使用 docker 命令

为了方便操作,可以将你的用户添加到 docker 组:

# 将用户添加到 docker 组 (可选) sudo usermod -aG docker ${USER}

然后重新登录或重启系统以使更改生效。

10 验证 Docker

# 验证 Docker 和 用户组 docker run hello-worlddebian 安装 docker 及docker 基本使用

出现以上画面可以确定,docker 及 用户组运行没有问题。

Docker 常用命令

查看所有本地镜像 docker images -a

docker images -adebian 安装 docker 及docker 基本使用

查看所有容器 docker ps -a

docker ps -adebian 安装 docker 及docker 基本使用

停止容器 docker stop

docker stop CONTAINER_IDdebian 安装 docker 及docker 基本使用

删除容器 docker rm

docker rm CONTAINER_IDdebian 安装 docker 及docker 基本使用

删除镜像 docker rmi

如果你想要删除一个镜像,如果镜像运行过,需要先停止容器,删除关联容器,最后删除镜像

docker rmi image_id or REP=POSITORYdebian 安装 docker 及docker 基本使用

搜索镜像 docker search

docker search ubuntu

这个命令会列出所有与 ubuntu 相关的镜像,包括镜像的名称、描述、星级(用户评分)、是否官方、是否自动化等信息。

注意: 这里搜索时都是连接的官方镜像源。设置的国内镜像站只有在拉取时生效

拉取镜像 docker pull

# 拉取镜像,也可以理解为下载 docker pull hello-world

运行镜像 docker run

# 运行 hello-world 镜像,如果本地没有,则自动从服务器拉取 名称为 hello-world 的镜像并运行 docker run hello-world

以下是一些最常用的 docker run 命令参数:

-d :后台运行容器,并返回容器ID。

-it :分配一个伪终端并保持标准输入开放,通常与 bashsh 命令一起使用。

p:将容器端口映射到宿主机端口,格式为 -p <宿主机端口>:<容器端口>

--name:为容器指定一个名称。

-e :设置环境变量,格式为 -e <环境变量名>=<值>

-v :挂载卷到容器,可以是宿主机的目录或存储卷,格式为 -v <宿主机目录>:<容器内路径>

--network:连接到一个网络,可以是 bridgehost 或自定义网络。

--restart:设置容器的重启策略,如 alwaysunless-stoppedon-failure

--cpus:限制容器可以使用的 CPU 数量。

-m:限制容器可以使用的内存量。

--cpuset-cpus:指定容器可以使用哪些 CPU 核心。

--gpus:为容器分配 GPU 资源。

--rm:容器停止后自动删除。

-u:指定容器内运行命令的用户。

--entrypoint:覆盖容器的默认入口点。

--workdir 或 -w:设置容器内的工作目录。

--cap-add:添加 Linux 内核能力。

--cap-drop:删除 Linux 内核能力。

--privileged:给予容器额外的权限,相当于运行在特权模式。

--read-only:将容器的文件系统设置为只读。

--no-healthcheck:禁用容器的健康检查。

--health-cmd:设置容器的健康检查命令。

--health-interval:设置健康检查的时间间隔。

--health-retries:设置健康检查的重试次数。

--health-timeout:设置健康检查的超时时间。

--label:为容器设置标签。

这些参数一般都是组合使用,以满足不同的需求。

例如,以下命令将容器端口 80 映射到宿主机端口 8080,并将容器命名为 my-web-app

docker run -p8080:80 --name my-web-app nginx

启动 Docker 服务:

# 启动 Docker 服务: sudo systemctl start docker

停止 Docker 服务:

# 停止 Docker 服务: sudo systemctl stop docker

重启 Docker 服务:

# 重启 Docker 服务: sudo systemctl restart docker

查看 Docker 服务状态:

# 查看 Docker 服务状态: sudo systemctl status docker

设置 Docker 开机启动:

# 设置 Docker 开机启动: sudo systemctl enable docker

取消 Docker 开机启动:

# 取消 Docker 开机启动: sudo systemctl disable docker

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
17
扫一下,分享更方便,购买更轻松