Less Interests
More Interest
Docker命令的格式为:docker [OPTIONS] COMMAND
可分为下列三类命令
帮助命令
- docker version 查看版本。
- docker info docker信息的描述例如多少个容器等。
- docker --help 列出docker各种命令
镜像命令
- docker images 列出本地的镜像
选项:
-a(all):列出本地所有镜像
-q:只显示镜像ID
--digests: 显示镜像的摘要 信息
--no-trunc:显示完整的镜像信息
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像ID
同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,使用REPOSITORY:TAG来定义不同的镜像。若不指定TAG,则默认使用latest
- docker search 某个镜像的名称 从dockerhub上查找镜像
选项:
--no-trunc:显示完整的镜像描述(如编号实际很长,不使用这个将会截断输出)
-s:列出收藏数不小于指定值的镜像
-automated build:只列出automated build的镜像
- docker pull 镜像名[:TAG] 下载镜像,默认TAG为lastest
- docker rmi 镜像名或ID 删除某个镜像
选项:
-f 强制删除
-f 镜像名TAG 镜像名2:TAG删除多个
-f$(docker images -qa) 删除全部
容器命令
有镜像才能创建容器,这是一个前提
docker run [OPTIONS] image [COMMAND][ARG] 新建并启动容器
选项:
-name=”容器新名称“ 为容器指定一个名称;
-d:后台运行容器,并返回容器ID,即启动守护式容器
-i:以交互模式运行容器,通常与-i同时使用
-t:为容器重新分配一个伪输入终端
-P:随机端口映射
-p:指定端口映射,有四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
此时将为容器分配一个终端,进行交互(docker里面的centos)
容器启动成功了但是ps进程并无此容器。Docker容器后台运行,必须要有一个前台进程,容器运行的命令如果不是把哪些一起挂起的命令(如top。tail)就会自动退出,容器启动后觉得无事可做,就自动退出。
此时后台在一直打印日志。所以不会退出,ps会有相关的容器进程
docker run -it -p 8888:8080 tomcat
-p主机端口:docker容器的端口
docker 8888端口对应tomcat 8080,对外暴露的端口为8888
docker run -it -P tomcat
此时docker为内部tomcat分配的端口为:32769
- docker ps [OPTIONS] 列出当前所有正在运行的容器
选项:
-a:列出当前所有正在运行的容器+历史上运行过的
-l:显示最近创建的容器
-q:静默模式只显示容器编号
--no-trunc:不截断输出
exit 容器停止退出
- ctrl+p+q 容器不停止退出
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 logs -f -t --tail 容器ID 查看容器日志
- docker top 容器id 查看容器内运行的进程
- docker inspect 容器ID 查看容器内部细节(docker镜像是一层套一层叠加起来的)
- 进入正在运行的容器并以命令行交互(ctrl+p+q容器不停止退出 后台启动)
docker exec -it 容器ID bashshell(不进入容器,直接在容器内执行bashshell)
docker attach 容器ID(登录进容器,分配终端执行)- docker cp 容器ID:容器内路径 目的主机路径 容器内的数据拷贝到主机上