1. 下载镜像(安装包)
docker pull nginx
docker pull mysql:8.0
从网上下载软件包到本地。
2. 运行容器(启动软件)------ 最核心
# 跑个网页服务(后台运行,端口映射,起名)
docker run -d -p 8080:80 --name myweb nginx
# 跑个数据库(带密码、数据存在硬盘上、开机自启)
docker run -d -p 3306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -v /my_data:/var/lib/mysql --restart=always mysql:8.0
-d=后台跑;-p 外面端口:里面端口;-v=数据存外面(防止删容器丢数据);--restart=挂了自动重启。
3. 查看状态(排查第一眼)
# 看正在运行的
docker ps
# 看所有(包括挂掉的)
docker ps -a
# 看电脑里有哪些软件包(镜像)
docker images
4. 查看报错日志(排查第二眼)
docker logs mysql8
# 实时滚动查看
docker logs -f mysql8
启动不了?第一件事就是看日志。
5. 进入容器内部(排查第三眼)
docker exec -it mysql8 /bin/bash
# 如果上面报错,试试这个(有些精简系统用sh)
docker exec -it mysql8 /bin/sh
相当于SSH进机器里面。按
exit退出,容器不会停。
6. 常规维护(启/停/删)
docker stop mysql8 # 停止
docker start mysql8 # 启动
docker restart mysql8 # 重启(改完配置常用)
docker rm mysql8 # 删容器(必须先stop,加 -f 强制删)
7. 急救助手(拷贝文件)
# 从容器里把文件复制到外面
docker cp mysql8:/etc/mysql/my.cnf /home/
配置文件改坏了?复制出来改好,再复制回去,然后
restart。
8. 清理磁盘(救命命令)
# 看占了多少空间
docker system df
# 一键清理(删掉停止的容器、无用的缓存和镜像)
docker system prune -f
硬盘满了跑不动,跑这个腾空间。
9. 多容器一键启动(Compose)
当你要同时跑 Nginx+MySQL+Redis 时,放弃上面那些,用这个:
docker-compose up -d # 启动全部
docker-compose down # 停掉全部
docker-compose logs -f # 看全部日志
记住口诀 :pull 下载 → run 运行 → ps 看状态 → logs 看报错 → exec 进去改 → stop/rm 删除。熟练这 6 步,Docker 日常操作完全够用。