Docker 安装与常用命令

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 服务管理命令

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

相关推荐
handler016 小时前
【Linux】进程退出、等待与程序替换
linux·运维·exec·进程·进程等待·进程退出·程序替换
Linux-lucky6 小时前
33-Linux学习之旅之MySQL用户管理
java·linux·运维·学习·mysql·ubuntu
像风一样的男人@6 小时前
linux --安装openGL,EGL/OSMesa
linux·运维·服务器
nxb5566 小时前
云原生:kubernetes的service
微服务·云原生·容器·kubernetes
ZzzZZzzzZZZzzzz…6 小时前
K8s---组件
运维·云原生·容器·kubernetes·k8s·k8s组件
Maynor9966 小时前
「原子弹爆炸」级别:Astra 复刻游戏合集(含实机截图)
java·linux·运维·数据库·gpt·游戏
陈皮糖..6 小时前
基于 Kubernetes 与 GitLab CI/CD 的云原生自动化交付平台
运维·ci/cd·云原生·架构·kubernetes·自动化·gitlab
脚踏实地,坚持不懈!7 小时前
Android 系统工程师(性能/功耗/稳定性)岗位问题深度解析:从内核源码到实战排查(完善版)
android·linux·运维·服务器
0+1117 小时前
Linux --进程信号
linux·运维·服务器
Lethehong7 小时前
服务器越来越多怎么统一监控?Beszel 接入 Agent、SMTP 告警与公网访问
运维·服务器