Docker常用命令
1.帮助命令
docker version #docker的版本信息
docker info #docker的系统信息
docker stats #查看cpu的状态
docker 命令 --help #万能命令
2.镜像命令
docker images
docker search 镜像名
docker pull 镜像名:版本号
docker rmi 镜像id
docker rmi -f $(docker images -aq)
3.容器命令
3.1启动容器
docker run [可选参数] 镜像名
#参数说明
--name 名字 #容器名字
-d #后台方式运行
-it #使用交互方式运行,进入容器查看内容, 最后加上/bin/bash
-p #指定容器的断后 -p ip:主机端口:容器端口; -p 主机端口:容器端口(最常用); -p 容器端口
-v 主机的目录:docker容器内的目录 #挂载数据卷,双向绑定,无论是两者谁新增的文件,另一方都会同步
#即便容器没有启动,我们在宿主机内改动文件,那么容器启动后文件也会改变
#docker run -it -v /var/local/centos:/home centos
#具名挂载 -v 数据卷名:容器内目录:ro ro只读 rw读写
#匿名挂载 -v 容器内目录 生成的数据卷名是乱码
#指定目录挂载 -v 主机内目录:容器内目录
docker volume ls #查看所有挂载的情况
docker volume inspect 数据卷名 #查看具名挂载的详情
--volume-from 容器名 #把fromn后面的容器的数据卷复制到自己的容器里,如果父容器的数据卷内容
#有变化,那么子容器挂载的数据卷也会发生变化,解决多个容器的数据共享
#如果父容器被删除,那么我们的其他容器的数据卷也不会被删除。
3.2查看容器
docker ps #查看当前正在运行的容器
#参数说明
-a #带出历史运行过的容器;
-q #只显示容器id;
-aq #查询所有容器的id;
-n=数字 #查询最近的指定的数量的容器
3.3退出容器
exit #直接停止容器并退出
ctrl + P + Q #容器不停止退出
3.4删除容器
docker rm 容器id #删除指定容器,不能删除正在运行的容器,如果强制删除则是 docker rm -f
docker rm -f $(docker ps -aq) #删除所有的容器
docker ps -a -q|xargs docker rm #删除所有的容器
4.常用其他命令
4.1后台启动容器
#后台启动容器
docker run -d 镜像名
#问题:当我们启动后会发现,容器会自动停止
#docker容器以后台运行时,就必须有要有一个前台进程
4.2查看日志
docker logs
#自己编写一段shell脚本
docker run -d centos /bin/sh -c "while true;do echo lybing;sleep 1;done"
#参数说明
-tf #显示日志
--tail 数字 容器id #要显示的日志条数
4.3查看容器中的进程信息
docker top 容器id
4.4 查看容器的元数据
docker inspect 容器id
4.5进入当前正在运行的容器
#我们容器通常是使用后台方式运行的,需要进入容器,修改一些配置
#方式一 进入后开启一个新的终端,可以在里面操作,常用
docker exec -it 容器id bashshell #bashshell 就是我们查看容器元数据的 path里面的内容
#方式二 进入容器正在执行的终端,不会启动新的终端,比如我们当前容器正在打印字符串,那么我们
#进入的终端也会一直在打印,而exec则不会
docker attach 容器id
4.5从容器内拷贝文件到主机上
#进入容器内部,创建文件
docker cp 容器id:容器内的文件路径(带文件名) 主机内的路径(只要路径)