Docker完整安装及基础使用方法教程
作者:zyl83721
这篇文章主要介绍了Docker完整安装及基础使用方法的相关资料,这份教程手把手教你在Ubuntu、CentOS、Windows和Mac上快速部署Docker,并掌握镜像、容器、Compose等核心技能,需要的朋友可以参考下
一、Docker 介绍
Docker 是容器化工具,把应用、依赖、环境打包成镜像,一次打包到处运行,隔离环境、部署简单。 分为三部分:
- Docker Engine:核心引擎(服务端)
- Docker CLI:命令行客户端
- Docker Compose:多容器编排工具(推荐一并安装)
二、各系统安装 Docker
1. Ubuntu / Debian(Linux 主流)
1)卸载旧版本
sudo apt remove docker docker-engine docker.io containerd runc
2)安装依赖
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release
3)添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/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://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5)安装 Docker Engine + Compose
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
6)免 sudo 运行 docker(必做)
sudo usermod -aG docker $USER # 生效:重新登录服务器/终端 newgrp docker
7)验证安装
docker -v docker compose version # 测试运行容器 docker run hello-world
2. CentOS / Rocky Linux / RHEL
# 卸载旧版 yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine # 安装源工具 yum install -y yum-utils # 添加docker源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装 yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin # 启动开机自启 systemctl start docker systemctl enable docker # 免sudo usermod -aG docker $USER newgrp docker # 验证 docker run hello-world
3. Windows 系统(Win10/11 专业版 / 家庭版)
方案:Docker Desktop(图形化,自带 compose)
- 开启 WSL2 虚拟机 设置 → 应用 → 可选功能 → 勾选「适用于 Linux 的 Windows 子系统」「虚拟机平台」,重启电脑
- 安装 WSL2 默认内核
wsl --install
- 官网下载 Docker Desktop https://www.docker.com/products/docker-desktop/
- 安装后打开,终端直接使用
docker、docker compose
4. MacOS
- 官网下载 Docker Desktop(Intel/M1/M2 区分版本)
- 拖拽安装,启动后终端直接执行 docker 命令
三、Docker 核心基础概念
- 镜像 (image):只读模板,打包好的环境(如 nginx、mysql)
- 容器 (container):镜像运行后的实例,独立运行程序
- 仓库 (hub):存放镜像,默认 Docker Hub
- Dockerfile:自定义镜像的构建脚本
- Volume:数据卷,持久化容器数据(容器删除数据不丢)
四、Docker 高频常用命令
1. 镜像操作
# 拉取镜像 docker pull nginx # 查看本地镜像 docker images # 删除镜像 docker rmi 镜像ID/镜像名 # 搜索镜像 docker search mysql # 导出镜像 docker save -o nginx.tar nginx # 导入镜像 docker load -i nginx.tar
2. 容器运行(重点)
# 最简运行nginx docker run nginx # 常用完整参数示例(端口映射+后台运行+命名+数据卷) # -d 后台运行 # --name 容器名 # -p 主机端口:容器端口 端口映射 # -v 主机目录:容器目录 数据持久化 # --restart always 开机自启 docker run -d --name mynginx -p 8080:80 -v /data/nginx/html:/usr/share/nginx/html --restart always nginx
3. 容器管理
# 查看运行中容器 docker ps # 查看所有容器(含停止) docker ps -a # 停止容器 docker stop 容器名/ID # 重启容器 docker restart 容器名/ID # 删除停止的容器 docker rm 容器名/ID # 进入容器终端 docker exec -it mynginx /bin/bash # 查看容器日志 docker logs mynginx # 实时日志 docker logs -f mynginx
4. 数据卷 Volume
# 创建数据卷 docker volume create mysql-data # 挂载运行 docker run -d -v mysql-data:/var/lib/mysql mysql # 查看所有卷 docker volume ls # 删除无用卷 docker volume prune
5. 镜像构建 Dockerfile
- 新建
Dockerfile文件
FROM nginx COPY index.html /usr/share/nginx/html/
- 构建自定义镜像
docker build -t my-nginx:v1 .
- 运行自定义镜像
docker run -d -p 80:80 my-nginx:v1
五、Docker Compose 多容器编排(开发 / 部署必备)
适合同时启动 mysql + redis + nginx + 项目等多个容器
1. 编写 docker-compose.yml
示例:nginx + mysql
version: "3.8"
services:
nginx:
image: nginx
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
restart: always
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: testdb
volumes:
- mysql-data:/var/lib/mysql
ports:
- "3306:3306"
volumes:
mysql-data:
2. Compose 命令
# 后台启动所有服务 docker compose up -d # 查看运行容器 docker compose ps # 查看日志 docker compose logs -f # 停止服务(不删除容器数据) docker compose stop # 停止并删除容器(数据卷保留) docker compose down # 删除容器+数据卷 docker compose down -v # 重启单个服务 docker compose restart mysql
六、Docker 服务管理(Linux)
# 启动docker服务 systemctl start docker # 停止 systemctl stop docker # 开机自启 systemctl enable docker # 查看状态 systemctl status docker # 重启docker systemctl restart docker
七、常见问题
- docker 命令提示 permission denied 解决:执行
sudo usermod -aG docker $USER后重新登录终端 - 端口占用 修改
-p 主机端口:容器端口的主机端口,如 8081:80 - 容器重启数据丢失 必须使用
-v挂载数据卷持久化 - 国内拉取镜像慢 配置镜像加速器(阿里云 / 网易镜像源)
到此这篇关于Docker完整安装及基础使用方法教程的文章就介绍到这了,更多相关Docker安装使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
