debian 安装 docker 及docker 基本使用
docker 对于很多服务的部署都很方便,但是不同的系统,安装的过程不太一样,liunx安装更是会有一些坑。我梳理了一个基本不会出问题的安装方式,仅供大家参考。
安装sudo
debian 默认是不包含 sudo 命令的, 需要权限的命令都要切换到 root 才能使用,不太方便,所以先安装 sudo 命令包,如果一直在root用户执行,则不需要安装,直接跳转到docker安装就可以。
1 升级安装包
2 安装sudo
3 添加 用户 到 sudo 组
1 编辑 /etc/sudoers 文件
vi /etc/sudoers
2 添加用户配置
使用方向键在文件中找到类似以下的行:
root ALL=(ALL:ALL) ALL
按 i 键 进入编辑模式
在其下方添加以下内容:
dongyang ALL=(ALL:ALL) ALL

会提示文件是只读,没有关系,退出时加入 !号就可以强行保存了。
保存并退出
按 Esc,然后输入 :wq! 保存并退出。
3 查看 sudoers 中是否保存成功
4 退出 root 用户并验证
# 退出 root
exit
# 验证用户是否有 root 权限
sudo whoami
出现 root 就是配置成功。
安装 unzip
之后在系统内安装很多的软件可能需要,如果只安装docker 可以跳过。
# 安装 unzip
sudo apt install unzip
验证
可运行证明安装成功
安装 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-world
出现以上画面可以确定,docker 及 用户组运行没有问题。
Docker 常用命令
查看所有本地镜像 docker images -a
查看所有容器 docker ps -a
停止容器 docker stop
删除容器 docker rm
删除镜像 docker rmi
如果你想要删除一个镜像,如果镜像运行过,需要先停止容器,删除关联容器,最后删除镜像
docker rmi image_id or REP=POSITORY
搜索镜像 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 :分配一个伪终端并保持标准输入开放,通常与 bash 或 sh 命令一起使用。
p:将容器端口映射到宿主机端口,格式为 -p <宿主机端口>:<容器端口>。
--name:为容器指定一个名称。
-e :设置环境变量,格式为 -e <环境变量名>=<值>。
-v :挂载卷到容器,可以是宿主机的目录或存储卷,格式为 -v <宿主机目录>:<容器内路径>。
--network:连接到一个网络,可以是 bridge、host 或自定义网络。
--restart:设置容器的重启策略,如 always、unless-stopped、on-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
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~









