一、Docker 镜像管理
| 指令 | 作用 | 示例 |
|---|
docker pull <镜像> | 从仓库拉取镜像 | docker pull mysql:8.0 |
docker images | 查看本地镜像列表 | docker images |
docker rmi <镜像> | 删除本地镜像 | docker rmi mysql:8.0 |
docker save -o <文件名>.tar <镜像> | 导出镜像为 tar 文件 | docker save -o mysql8.tar mysql:8.0 |
docker load -i <文件名>.tar | 导入镜像 | docker load -i mysql8.tar |
docker tag <镜像> <新镜像名> | 给镜像打标签 | docker tag mysql:8.0 myrepo/mysql:8.0 |
docker push <镜像> | 推送镜像到仓库 | docker push myrepo/mysql:8.0 |
二、Docker 容器管理
| 指令 | 作用 | 示例 |
|---|
docker run [options] <镜像> | 创建并运行容器 | docker run -d --name mysql8 -p 3306:3306 mysql:8.0 |
docker ps | 查看正在运行的容器 | docker ps |
docker ps -a | 查看所有容器 | docker ps -a |
docker stop <容器名/ID> | 停止容器 | docker stop mysql8 |
docker start <容器名/ID> | 启动容器 | docker start mysql8 |
docker restart <容器名/ID> | 重启容器 | docker restart mysql8 |
docker rm <容器名/ID> | 删除容器 | docker rm mysql8 |
docker exec -it <容器名/ID> <命令> | 进入容器或执行命令 | docker exec -it mysql8 bash / docker exec -it mysql8 mysql -uroot -p |
docker logs <容器名/ID> | 查看容器日志 | docker logs mysql8 |
三、数据卷与文件挂载
| 指令 | 作用 | 示例 |
|---|
-v <宿主机路径>:<容器路径> | 挂载卷 | docker run -v /data/mysql:/var/lib/mysql mysql:8.0 |
docker volume create <卷名> | 创建 Docker 卷 | docker volume create mysql-data |
docker volume ls | 查看卷 | docker volume ls |
docker volume rm <卷名> | 删除卷 | docker volume rm mysql-data |
四、网络管理
| 指令 | 作用 | 示例 |
|---|
-p <宿主机端口>:<容器端口> | 端口映射 | docker run -p 3306:3306 mysql:8.0 |
docker network ls | 查看网络 | docker network ls |
docker network create <网络名> | 创建网络 | docker network create mynet |
docker network inspect <网络名> | 查看网络详情 | docker network inspect mynet |
五、系统信息与清理
| 指令 | 作用 | 示例 |
|---|
docker info | 查看 Docker 系统信息 | docker info |
docker system df | 查看磁盘使用情况 | docker system df |
docker system prune | 清理无用数据(镜像/容器/网络) | docker system prune -a |
docker version | 查看 Docker 版本 | docker version |
六、组合示例
- 导出镜像 → 上传服务器 → 导入 → 运行 MySQL
docker save -o mysql8.tar mysql:8.0
scp mysql8.tar user@server:/home/user/
ssh user@server
docker load -i /home/user/mysql8.tar
docker run -d --name mysql8 -p 3306:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:8.0
- 进入正在运行的 MySQL 容器
docker exec -it mysql8 mysql -uroot -p
- 查看容器日志
docker logs -f mysql8
- 停止并删除容器
docker stop mysql8
docker rm mysql8