Docker常用命令
万能命令
docker 命令 --help
docker images --help #查看images命令的帮助信息
学习docker一定要善用help命令
镜像命令
查看本地镜像
docker images #查看本地镜像
docker images -a #列出所有镜像
docker images -q #只显示镜像id
docker images -aq #查显示所有镜像id
搜索镜像
#docker search 镜像名
docker search mysql #搜索mysql
#docker search 常用的可选项
docker search mysql --filter=stars=3000 #搜索stars大于3000的结果
下载镜像
docker pull 镜像名
#eg:
docker pull mysql #下载mysql,默认下载lstest
docker pull 常用可选项
#eg:
docker pull musql:5.7 #下载5.7版本的mysql,注意mysql必须存在5.7版本才行,可以去dockerhub上查看有那些版本
注:docker下载镜像采用了分层下载的机制,下载统一镜像的不同版本时 可以共用相同的层以提高下载速度。
删除镜像
docker rmi 镜像id #镜像id是指一串代表镜像的代码,区别于镜像名
docker rmi -f 镜像id #删除指定镜像
docker rmi -f 镜像id1 镜像id2 #删除多个镜像
docker rmi -f $(docker images -aq) #删除全部镜像
容器命令
注:容器是不能脱离镜像的,有了镜像之后才能谈容器
新建容器并启动
docker run 镜像名
docker run --name="name" 镜像名 #定义容器名
docker run -d 镜像名 #后台方式运行
docker run -it 镜像名 #前台方式运行,会进入容器
docker run -p 主机端口:容器端口 镜像名 #指定容器端口号
docker run -P 镜像名 #随机指定端口号
#eg:
docker run -it centos /bin/bash #/bin/bash不能少
列出所有正在运行的容器
docker ps #正在运行的容器
docker ps -a #列出所有运行过的容器,包括正在运行和曾经运行过的
docker ps -n=N #显示最近创建的N个容器
docker ps -q #显示正在运行的容器id
docker ps -aq #显示所有运行过的容器id
退出容器
exit #停止并推出
#快捷键 Ctrl+p+q 可实现不停止并退出容器
删除容器
docker rm 容器id #删除指定容器
docker rm -f $(docker ps -aq) #删除全部容器
停止和启动容器
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止容器
docker kill 容器id #强制停止容器
注:关于docker run 和docker start区别可参看我的另一篇博文Docker学习笔记番外:容器命令docker run和docker start区别
后台启动容器
docker run -d 镜像名
注:此时docker ps时会发现没有正在运行的容器,这是正常的,因为没有任何前台进程,docker会自动停止
进入当前正在运行容器
容器通常都是使用后台方式运行的,有时需要进入容器,进行操作
#方式1
docker exec -it 容器id /bin/bash
#方式2
docker attach 容器id
区别
docker exec进入容器后开启一个新的终端
docker attach进入正在运行的容器,不开启新的终端
从容器内靠文件到主机
docker cp 容器id:容器内路径 目的主机径路
总结
Docker的命令主要就是镜像命令和容器命令,有了镜像后才有容器。
–help是万能命令,要学会时刻使用。
此外学习Docker一定要使用好Docker官方文档