命令帮助文档:https://docs.docker.com/reference/
docker versiondocker info #显示docker系统信息,包括镜像和容器的数量docker --helpdocker <命令> --helpdocker stats #查看cpu的状态
镜像命令
docker images [-a] [-q] # 查看所有主机上的镜像#-q 只显示IDdocker search mysql --filter=STARS=3000 # 搜索镜像(建议在网站上搜索,命令行搜索不好用)docker pull mysql:5.7 # 下载镜像docker rmi -f <IMAGE ID> <IMAGE ID1> <IMAGE ID2> # 移除镜像
容器命令
docker run [options] <image> # 创建容器实例# --name="Name" 容器名称(如果没有指定,就是镜像名称)# -d 后台方式运行# -t 在新容器内指定一个伪终端或终端# -i 允许你对容器内的标准输入 (STDIN) 进行交互# -P 随机指定端口# -p#-p <容器端口> 指定容器端口#<容器端口> 省略-p,直接指定端口#-p <主机端口>:<容器端口> 指定容器端口,并指定映射到主机的某个端口#-p <ip>:<主机端口>:<容器端口> 指定容器端口,并指定映射到某个主机的某个端口# -v <主机目录>:<容器目录> 将主机的目录与容器目录进行双向绑定# --privileged=true 授权exit # 从容器中退回主机ctrl + P + Q # 容器不停止,退出docker start <容器ID> # 启动docker restart <容器ID> # 重启docker stop <容器ID> # 停止docker kill <容器ID> # 强制停止docker inspect <容器ID> # 查看容器内部的信息(查看镜像的元数据)docker exec -it <容器ID> /bin/bash #进入正在运行的容器(开启一个新的终端)docker attach <容器ID> #进入正在运行的容器(不会启动新的进程,进入原进程)docker ps # 列出容器(默认只列出正在运行的容器)# -a 列出所有容器,不在运行的也会列出# -n=2 显示最近的2个# -q 只显示IDdocker rm <容器ID> #不能删除运行中的容器。如果要强制删除,加-f参数docker rm -f $(docker ps -aq) #删除所有容器#docker ps -aq 查出所有的容器#-f 强制删除docker ps -a -q|xargs docker rm #删除所有容器#把docker ps -a -q 查出来的ID,进入管道#xargs 把管道中的东西一个一个取出来#docker rm 删除
-d后台启动说明
- docker后台运行容器,必须要有一个前台进程。
- 如果没有前台进程,在docker run之后,容器就会自动停止
容器操作
docker cp <容器ID>:<容器内路径> 主机路径 #将容器中的文件拷贝出来docker logs <容器名> #查看日志# -t 时间戳# -f 显示日志# --tail 5 显示5条日志docker top <容器ID> #查看容器内部的进程信息
