Docker 安装与常用命令(超详细版)
我给你整理了主流系统一键安装 + 日常开发最常用命令,直接复制就能用,新手也能快速上手。
一、Docker 安装(一键脚本,最简单)
1. CentOS / RHEL
bash
# 1. 卸载旧版本(如果有)
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 2. 安装依赖
sudo yum install -y yum-utils
# 3. 设置阿里云镜像源(国内更快)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4. 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 5. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 6. 验证安装
docker --version
2. Ubuntu / Debian
bash
# 1. 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 2. 更新依赖
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# 3. 添加阿里云 GPG 密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 4. 添加镜像源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. 安装 Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 6. 启动并开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 7. 验证
docker --version
3. macOS / Windows
直接下载桌面版:
- Docker Desktop:https://www.docker.com/products/docker-desktop/
安装后自带命令行,开箱即用。
二、Docker 服务管理命令
bash
# 启动 Docker
sudo systemctl start docker
# 停止 Docker
sudo systemctl stop docker
# 重启 Docker
sudo systemctl restart docker
# 设置开机自启
sudo systemctl enable docker
# 查看 Docker 状态
sudo systemctl status docker
三、最常用 Docker 命令(按场景分类)
1. 镜像(Image)相关
bash
# 查看本地所有镜像
docker images
# 从 Docker Hub 拉取镜像(例:nginx、mysql、redis)
docker pull nginx
docker pull mysql:8.0
# 删除本地镜像
docker rmi 镜像ID/镜像名
# 搜索镜像
docker search nginx
2. 容器(Container)相关
bash
# 查看运行中的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 创建并启动容器(最常用格式)
docker run -d --name 容器名 -p 主机端口:容器端口 镜像名
# 示例:启动 nginx,外部访问 8080 端口
docker run -d --name my-nginx -p 8080:80 nginx
# 停止容器
docker stop 容器ID/容器名
# 启动已停止的容器
docker start 容器ID/容器名
# 重启容器
docker restart 容器ID/容器名
# 删除容器(必须先停止)
docker rm 容器ID/容器名
# 强制删除运行中的容器
docker rm -f 容器ID/容器名
3. 进入容器内部(调试必备)
bash
# 进入容器命令行(推荐)
docker exec -it 容器ID/容器名 /bin/bash
# 退出容器(不关闭容器)
exit
4. 查看日志
bash
# 查看容器日志
docker logs 容器ID/容器名
# 实时查看日志(持续刷新)
docker logs -f 容器ID/容器名
5. 数据拷贝
bash
# 从主机复制文件到容器
docker cp 主机文件路径 容器ID:容器内路径
# 从容器复制文件到主机
docker cp 容器ID:容器内路径 主机文件路径
6. 清理无用资源
bash
# 删除所有停止的容器
docker container prune
# 删除所有悬空镜像(没被使用的)
docker image prune
四、高频实战示例
bash
# 启动 MySQL 8.0,设置密码、端口映射
docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
# 启动 Redis
docker run -d --name my-redis -p 6379:6379 redis
# 启动 Nginx
docker run -d --name my-nginx -p 80:80 nginx