Docker命令详解与应用
Docker核心概念简介
- 镜像:包含运行环境和应用的静态模板。
- 容器:镜像的实例,可执行的应用环境。
- 仓库:存储镜像的位置,例如Docker Hub。
镜像操作指南
搜索并获取镜像
# 在Docker Hub上搜索镜像
docker search redis
# 获取镜像(默认latest版本)
docker pull redis
docker pull redis:6.2
管理本地镜像
# 展示所有本地镜像
docker images
# 获取特定镜像的详细信息
docker inspect redis:latest
# 移除一个或多个镜像
docker rmi redis:6.2
# 强制移除镜像
docker rmi -f redis:6.2
构建自定义镜像
# 使用当前目录下的Dockerfile构建镜像
docker build -t webapp:1.0 .
# 通过指定路径的Dockerfile构建
docker build -t webapp:1.0 -f /path/to/Dockerfile .
# 构建时禁用缓存
docker build --no-cache -t webapp:1.0 .
容器操作指令集
启动容器
# 创建并启动容器,同时命名
docker run --name myweb redis
# 在后台模式下运行容器
docker run -d --name myweb redis
# 映射主机端口到容器端口
docker run -d -p 6379:6379 --name myweb redis
# 挂载主机目录到容器内
docker run -d -v /host/data:/container/data --name myweb redis
# 设置环境变量
docker run -d -e "APP_ENV=prod" --name myweb redis
容器管理
# 查看正在运行的容器
docker ps
# 列出所有容器(包括已停止的)
docker ps -a
# 控制容器状态
docker start myweb
docker stop myweb
docker restart myweb
# 删除容器
docker rm myweb
# 强制删除容器
docker rm -f myweb
# 查阅容器日志
docker logs -f myweb
# 进入容器内部
docker exec -it myweb sh
数据卷与网络配置
数据卷管理
# 新建数据卷
docker volume create datavol
# 列出所有数据卷
docker volume ls
# 查看数据卷详情
docker volume inspect datavol
# 移除数据卷
docker volume rm datavol
# 清理未使用的数据卷
docker volume prune
网络操作
# 显示现有网络
docker network ls
# 创建新网络
docker network create netapp
# 连接容器至网络
docker network connect netapp myweb
# 断开容器与网络的连接
docker network disconnect netapp myweb
# 移除网络
docker network rm netapp
Docker Compose基础命令
# 启动Compose项目(后台模式)
docker-compose up -d
# 停止并清理Compose项目
docker-compose down
# 显示服务状态
docker-compose ps
# 查看服务日志
docker-compose logs
# 重建服务镜像
docker-compose build