- 镜像和容器命令
帮助命令
docker 验证
docker version
docker 的信息
docker info
docker 帮助命令
docker --help
- 镜像命令
列出本地主机上的镜像
1
|
docker images |
OPTIONS说明: -a :累出本地所有的镜像(含中间映像层) -q:只显示镜像id --digests:显示镜像的摘要信息(DIGEST说明) --no-trunc:显示完整的镜像信息(IMAGE ID完整id)
镜像的仓库源 镜像标签(默认latest---最新版) 镜像id 创建镜像的时间 卷标大小
查询镜像 docker search 查询目标网站:官网 hub.docker.com
OPTIONS说明: -s :列出收藏数不小于指定值的镜像 --automated:之类出automated build类型的镜像 --no-trunc:显示完整的镜像描述
docker search tomcat
下载镜像docker pull 下载对象
docker pull tomcat
删除某个镜像 docker rmi 镜像id和名称
docker rmi
用名称删除
-f 强制删除 名称删除需要唯一名称
-f hello-world nginx 多少删除
全部全面所有的删除 是组合命令
docker -f $(docker images -qa)
- 容器命令
新建并启动容器 options说明(常用):有些是一个减号,有些是二个减号。 --name=“容器新名字”:为容器指定一个名称
-d:后台运行容器,并返回容器id,也即启动守护式容器。
-i:以交互模式运行容器,通常于-t同时使用;
-t:为容器重启分配一个伪输入终端,通常于-i同时使用。
-P:水机端口映射;
-p:指定端口映射,有以下四种格式。 ip:hostPort:containerPort ip::containerPort hostPort:containerPort containerPort
选项参数 镜像
docker run [OPTIONS] IMAGE [COMMAND] [ARG..]
列:以300e315adb2f镜像生成了一个容器 mycentos005 且已经进入了新的centos里 a9b72b122da6新生成对象的地址
docker run -it --name mycentos005 300e315adb2f
列出当前所有正在运行的容器
options说明:-a:列出当前所有正在运行的容器+历史上运行过的 -l:显示最近创建的容器 -n:显示最近n个创建的容器。 -q:静默模式,只显示容器编号。 --no-trunc:不截断输出。
docker ps
退出容器
exit 容器停止退出 关闭容器并退出
ctrl+P+Q 容器不停止退出
启动容器
docker start 容器id或者容器名
重启容器
docker restart 容器id或者容器名
停止容器
docker stop 容器id或容器名
强制停止容器
docker kill 容器id或容器你名
删除已停止的容器
docker rm 容器id或容器名
一次性删除多个容器
管道符 前面的结果传给下一个 | xargs
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
启动守护式容器
docker run -d --name mycentos008 centos
查看容器日志 -t是加入时间戳 -f跟随最新的日志打印 --tail 数字 显示最后多少条
docker logs -f -t --tail 容器id或容器名
docker run -d centos /bin/sh -c "while true;do echo hello whj ;sleep 2;done"
查看容器内运行的进程
docker top 容器id或容器名
查看容器内部细节
docker inspect 容器id
直接进入容器的启动命令的终端,不会启动新的进程-----进入在运行的容器
docker attach fed5919cf819
实在容器中打开新的终端,并且可以启动新的进程---------在外层直接运行在某个容器中运行命令docker exec -t af94e99a49de ls -l /tmp
docker exec -t af94e99a49de ls -l /tmp
docker exec -t fed5919cf819 /bin/bash 同样进入容器里
从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目标主机路径
- 常用命令总结
- 是什么?UnioFS(联合文件系统)--------------镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所有需要的所有内容,包括代码、运行时、库、环境变量和配置文件。
分层的镜像
特点:docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。
- 镜像操作补充commit
docker commit 提交容器副本使之成为一个新的镜像。
docker commit -m=“提交的秒速信息” -a=“作者” 容器id要创建的目标镜像名:[标签名]
容器运行访问端口:镜像内部端口
docker run -it -p 8888:8080 tomcat:8.5.32
访问:localhost:8888 结果404 原因:该镜像的容器实例中的webapps目录下total为0 解决: 1、先查看防火墙状况 service firewalld status 2、如果防火墙时开的,需要关闭 关闭防火墙 systemctl stop firewalld.service 禁止防火墙开机启动 systemctl disable firewalld.service 重启docker systemctl restart docker
P随机分配端口
docker run -it -P tomcat
复习停止docker stop 容器名或者容器ID
docker kill 容器名或者容器ID
docker rm -f 容器名或者容器ID 强制删除
docker rm -f $(docker ps -q)删除正在运行的容器删除tomcat帮助文档
使用删除后的容器打包成新的镜像
docker commit -a="whj" -m="del tomcat docs" 53e5df4ace6a atwhj/mytomcat:1.8
运行新的自己的镜像
docker run -it -p 8888:8080 atwhj/mytomcat:1.8
用新自己打包的镜像运行同样没有帮组列
守护式容器启动
docker run -d -p 7777:8080 atwhj/mytomcat:1.8