Docker 快速入门:安装与基础命令详解

一、Docker 安装(Ubuntu 示例)
  1. 卸载旧版本(如有):
sudo apt-get remove docker docker-engine docker.io containerd runc

  1. 安装依赖工具:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release

  1. 添加官方 GPG 密钥:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

  1. 设置稳定版仓库:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  1. 安装 Docker 引擎:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

  1. 验证安装:
sudo docker run hello-world  # 出现欢迎信息即成功


二、核心命令详解
镜像管理
docker pull ubuntu:22.04       # 拉取镜像
docker images                  # 查看本地镜像
docker rmi ubuntu:22.04        # 删除镜像
docker build -t myapp:1.0 .    # 构建镜像

容器操作
docker run -it --rm ubuntu:22.04 /bin/bash  # 启动临时容器
docker ps -a                    # 查看所有容器(含停止状态)
docker start my_container       # 启动已停止容器
docker stop my_container        # 停止运行中容器
docker rm my_container          # 删除容器

网络管理
docker network ls               # 查看网络列表
docker network create my_net    # 创建自定义网络
docker run -d --net=my_net --name web nginx  # 指定网络启动

数据持久化
docker volume create my_vol     # 创建数据卷
docker run -v my_vol:/app/data mysql  # 挂载卷
docker run -v $(pwd):/app nginx # 挂载主机目录


三、实用工作流示例
  1. 部署 Nginx 服务:
docker run -d -p 8080:80 --name webserver nginx

访问 http://localhost:8080 查看默认页面

  1. 调试运行中容器:
docker exec -it webserver /bin/bash  # 进入容器终端

  1. 查看容器日志:
docker logs -f webserver  # 实时跟踪日志

  1. 保存容器状态:
docker commit webserver my_nginx:v2  # 创建新镜像


四、常用配置说明
  1. 加速器配置(中国用户): 创建 /etc/docker/daemon.json 添加:
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

重启服务:sudo systemctl restart docker

  1. 权限管理:
sudo usermod -aG docker $USER  # 当前用户加入docker组
newgrp docker                  # 刷新组权限

注意事项:

  1. 生产环境避免使用 --privileged 参数
  2. 定期清理无用资源:docker system prune
  3. 容器内进程应前台运行(避免使用后台守护模式)

通过以上命令组合,可完成 90% 的日常容器操作。建议配合 docker-compose 管理多容器应用提升效率。

更多推荐