官网Link: https://docs.docker.com/reference/
docker --help #帮助命令
镜像命令
- 查询
docker images --help
docker images -a
docker images -q
- 搜索
docker search mysql --filter=STARS=3000 #搜索收藏数大于3000的结果
- 拉取
docker pull mysql #等价于如下命令:docker pull docker.io/library/mysql:latest)
docker pull mysql:5.7 #体会分层下载、联合文件系统)
- 删除
docker rmi -f 镜像id #(删除指定容器)
docker rmi -f 镜像id 镜像id 镜像id #删除多个容器)
docker rmi -f $(docker images -aq) #删除全部镜像)
容器命令
说明:有了镜像才可以创建容器
docker pull centos
- 创建并启动容器
docker run [可选参数] image
docker run -it centos /bin/bash #启动并进入容器
参数说明
- –name=“Name” 容器名字,用来区分容器
- -d 后台方式运行
- -it 使用交互方式运行
- -p 指定容器端口
-p ip:主机端口:容器端口
-p 主机端口:容器端口 (常用)
-p 容器端口
容器端口 - -P 随机指定端口
- 查询容器
docker ps #列出当前正在运行的容器
docker ps -a #列出当前正在运行的容器 + 历史运行容器
docker ps -a -n=1 #列出最近创建的容器
docker ps -aq #列出容器id
- 退出容器
exit #停止容器并退出
Ctrl + P + Q #容器不停止退出
- 删除容器
docker rm 容器id #删除指定容器,不能删除正在运行的容器
docker rm -f $(docker ps -aq) #删除所有容器,包括正在运行的容器
docker ps -a -q | xargs docker rm #使用管道符删除
- 启动和停止容器
docker start 容器id #启动
docker restart 容器id #重启
docker stop 容器id #停止
docker kill 容器id #强制停止
其他常用命令
#docker容器使用后台运行。Note: docker 发现自己没有提供服务,就会立刻停止
docker run -d centos
#shell脚本写入日志
docker run -d centos /bin/sh -c "while true; do echo 123456789; sleep 10; done"
#显示日志 -t显示时间 -f追踪 --tail n显示末尾n行
docker logs -tf --tail 10 容器id
#显示进程
docker top 容器id
#查看容器详细信息
docker inspect 容器id
#进入当前正在运行的容器(进入容器后开启一个新的终端)
docker exec -it 容器id bash/bash
#进入当前正在运行的容器(进入容器正在执行的终端)
docker attach 容器id
#容器内拷贝到主机
docker cp 容器id:容器内路径 目的主机路径
#挂载 若没有指定目录,挂载到/var/lib/docker/volumes/xxxx/_data
docker run -it -v 主机目录:容器目录 centos bash
-v 容器内路径 #匿名挂载(一般不使用)
-v 卷名:容器内路径 #具名挂载
#docker file
docker build -f dockerfile文件名 -t image名 .