笔记整理https://www.bilibili.com/video/BV1Vs411E7AR?p=16
快速常用指令
-- 运行
docker run -itd {name} /bin/bash
-- 进入
docker exec -it {name} /bin/bash
-- 停止
docker stop {name}
-- 复制
docker copy {name}:{docker里面path} {电脑路径}
帮助命令
- docker version:获取docker的版本
- docker info:获取docker相关的所有信息
- docker --help:docker的帮助列表
镜像命令
-a | -q | –digests | -no-trunc |
---|
本地所有镜像 | 只显示ID | 显示摘要信息 | 显示完整镜像信息 |
- docker search 镜像名:在docker hub搜索镜像
-s 30 | –automated | -no-trunc |
---|
star前30的 | 只列出自动构建[OK]的镜像 | 显示完整镜像信息 |
- docker pull 镜像名[:TAG]:获取镜像,默认latest的TAG
- docker rmi 镜像ID:删除镜像
容器命令
- docker run [OPTIONS] IMAGE [COMMAND] :新建并启动容器
– name | -d | -i | -t | -P | -p |
---|
新容器名称 | 守护式容器,并返回容器ID | -i 以交互模式运行容器,经常和-t一起用 | 为容器重新分配一个伪输入终端,经常和-i一起用 | 随机端口映射 | 指定端口映射,有:ip:hostPort:containerPort, ip::conrainerPort, hostPort:containerPort, containerPort |
- a | -l | -n | -q | –no-trunc |
---|
列出当前所有正在运行的容器+历史上运行过的 | 显示最近创建的容器 | 显示最近创建的n个容器 | 静默模式,只显示容器编号,配合前几个一起用 | 不截断输出 |
- docker start [ID]:启动容器
- docker restart [ID]:重启容器
- docker stop [ID]:停止容器
- docker kill [ID]:强制关闭容器
- docker rm [ID]:删除已停止的容器
删除多个容器:
docker rm -f $$(docker ps -a -q)
docker ps -a -q | xargs docker rm
重要
- 启动守护容器:docker run -d 镜像名
虽然启动,但此时运行docker ps,会发现没有刚才run的那个容器。这是因为docker的机制,后台运行的会被kill。因此需要放到前台运行,才能保持一直都能够访问。 - 查看容器日志:docker logs -f -t --tail 容器ID
-t | -f | –tail |
---|
加入时间戳 | 根据最新的日志打印 | 后面可以跟数字,显示最后多少条 |
docker run -d centos /bin/sh -c “while true ; do echo hello; sleep 2; done”
- 查看容器内运行进程:docker top 容器ID
- 查看容器内部细节:docker inspect 容器ID
进入正在运行的容器并命令行交互
- docker exec -it 容器ID bashShell
- docker attach 容器ID
区别:
attach:直接进入容器内部的命令行进行操作
exec:在容器外部启动容器内部的一些进程,页面依然是外部的命令行 - 从容器内拷贝文件到主机上:docker cp [容器ID]:[容器内路径] 目的主机路径