wrenchDocker 安装与基本操作命令指南

DeepSeek生成

一、安装 Docker(以 Debian/Ubuntu 为例)

# 1. 更新软件源
sudo apt update

# 2. 安装依赖包
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# 3. 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 4. 添加稳定版仓库
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 6. 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 7. 将当前用户加入 docker 组(避免每次使用 sudo)
sudo usermod -aG docker $USER
# 重新登录或执行 newgrp docker 使组生效

二、Docker 基础操作命令

1. 镜像管理

命令
说明

docker images

列出本地所有镜像

docker pull <镜像名>:<标签>

拉取镜像(如 docker pull ubuntu:22.04

docker rmi <镜像ID或名>

删除镜像(先删除依赖的容器)

docker build -t <镜像名>:<标签> .

根据 Dockerfile 构建镜像

docker tag <原镜像> <新镜像名>:<标签>

给镜像打标签

docker push <镜像名>:<标签>

推送镜像到仓库

2. 容器生命周期

命令
说明

docker run <选项> <镜像> <命令>

创建并启动容器

docker ps

列出正在运行的容器

docker ps -a

列出所有容器(包括已停止)

docker start <容器ID或名>

启动已存在的容器

docker stop <容器ID或名>

停止运行中的容器

docker restart <容器ID或名>

重启容器

docker rm <容器ID或名>

删除已停止的容器

docker rm -f <容器ID或名>

强制删除运行中的容器

常用 docker run 选项

  • -d:后台运行容器

  • -it:交互式运行(如 -it ubuntu bash

  • --name:指定容器名称

  • -p 主机端口:容器端口:端口映射

  • -v 主机目录:容器目录:挂载数据卷

  • -e KEY=VALUE:设置环境变量

  • --network:指定网络模式(如 hostbridge

3. 容器交互与日志

命令
说明

docker exec -it <容器ID或名> <命令>

在运行中的容器内执行命令(如 docker exec -it mycontainer bash

docker logs <容器ID或名>

查看容器日志

docker logs -f <容器ID或名>

实时跟踪日志输出

docker cp <本地路径> <容器>:<容器路径>

复制文件到容器

docker cp <容器>:<容器路径> <本地路径>

从容器复制文件到宿主机

4. 数据卷管理

命令
说明

docker volume ls

列出所有数据卷

docker volume create <卷名>

创建数据卷

docker volume inspect <卷名>

查看数据卷详情

docker volume rm <卷名>

删除数据卷

docker volume prune

删除未使用的数据卷

5. 网络管理

命令
说明

docker network ls

列出所有网络

docker network create <网络名>

创建网络

docker network inspect <网络名>

查看网络详情

docker network connect <网络名> <容器>

将容器连接到网络

docker network disconnect <网络名> <容器>

断开容器与网络的连接

6. 系统信息与清理

命令
说明

docker info

显示 Docker 系统信息

docker version

显示 Docker 版本

docker system df

查看磁盘使用情况

docker system prune

清理未使用的容器、镜像、网络(加 -a 删除所有未使用镜像)

docker container prune

删除所有已停止的容器

docker image prune

删除悬空镜像(dangling images)

三、常见问题与技巧

  • 权限问题:如果运行 docker 命令时提示 permission denied,说明当前用户不在 docker 组中,要么使用 sudo,要么执行 sudo usermod -aG docker $USER 并重新登录。

  • 容器自动删除:在 docker run 时加上 --rm 选项,容器停止后自动删除。

  • 查看容器资源使用docker stats 可以实时查看容器 CPU、内存等占用。

  • 进入容器的推荐方式:对于需要调试的容器,使用 docker exec -it <容器> shbash(如果容器内有 shell)。

四、示例:运行一个 Nginx 容器

最后更新于