Docker常用命令
参数说明:
REPOSITORY | 表示镜像的仓库源 |
---|---|
TAG | 镜像的标签 |
IMAGE ID | 镜像ID |
SIZE | 镜像大小 |
[OPTIONS]说明:
-a | 列出本地所有的镜像(含中间映像层) |
---|---|
-q | 只显示镜像ID |
--digests | 显示镜像的摘要信息 |
--no-trunc | 显示完整的镜像信息 |
[OPTION]说明:
--no-trunc | 显示完整的镜像描述 |
---|---|
-s | 列出收藏数不少于指定数的镜像 |
--automated | 只列出automated bulid类型的镜像 |
docker pull imagename [:TAG]
docker rmi imageID
删除单个
docker rmi -f imageID
删除多个
docker rmi -f imagename1:TAG1 imagename2:TAG2
删除全部
docker rmi -f$(docker images -qa)
有镜像才能创建容器!
[OPTION]说明:
--name="" | 为容器制定一个新名称 |
---|---|
-d | 后台运行容器,并返回容器ID,即启动守护式容器 |
-i | 以交互模式运行容器,通常与-t同时使用 |
-t | 为容器重新分配一个伪输入终端。通常与-i同时使用 |
-P | 随机端口映射 |
-p | 指定端口映射 |
-p有以下四种格式: ip:hostPort:containerPort ip::containerPort hostPort:containerPort containerPort
[OPTION]说明:
-a | 列出当前正在运行的容器+历史上运行过的 |
---|---|
-l | 显示最近创建的容器 |
-n | 显示n个最近创建的容器 |
-q | 静默模式,只显示容器编号 |
--no-trunc | 不截断退出 |
使用镜像
centos:latsext
以后台模式启动一个容器docker run -d centos
问题:使用docker ps -a
进行查看,会发现容器已经退出 很重要的说明一点:Docker容器后台运行,就必须有一个前台进程 容器运行的命令如果不是那些一直挂起的命令(比如运行top、tail),就会自动退出 这个是Docker的机制问题,比如说以你的web容器,我们以nginx为例,正常情况下,我们配置启动服务只需启动相应的service即可。例如service nginx start
,但是这样做,nginx为后台进程模式运行,就导致docker前台没有运行的应用,这样的容器后台启动后,会立即自杀以为他觉得她没事可做了。 所以,最佳的解决方案是:将你要运行的程序以前台进程的形式运行。
区别 attach 直接进入容器命令的终端,不启动新的进程 exec 在容器中打开新的终端,并可以启动新的进程