Docker 常用命令

347 阅读2分钟

Docker容器的三大优势:

  • 第一:具备恒定特性–操作系统、库版本、配置、文件夹以及应用程序全部涵盖在内。大家可以将质量检查流程中使用的测试镜像原封不动地引入生产环境当中。
  • 第二:具备轻量化特性 – 容器的体积非常小巧。相较于动辄成百上千MB的操作系统,它只需要配备主进程所必需的内存外加数十MB额外容量。
  • 第三:速度惊人–大家可以享受等同于单一进程的容器启动速度。相较于长达数分钟的传统负载启动时长,现在我们完全能够在几秒钟内启动一套新容器。 不过很多用户仍然在以对待典型虚拟机的方式审视容器,在这种情况下他们往往没办法发挥容器技术所蕴含的各类优势。因此我们需要再次强调一项基本原则:容器具备一次性特征。
  • 容器座右铭: “容器属于临时性(一次性)系统。”

查看

docker images
列出所有镜像(images)

docker ps
列出正在运行的容器(containers)

docker ps -a
列出所有的容器

docker pull centos
下载centos镜像

docker top <container>
查看容器内部运行程序

docker stop <container>
停止一个正在运行的容器,可以是容器ID或名称

docker start <container>
启动一个已经停止的容器

docker restart <container>
重启容器

docker rm <container>
删除容器

docker run -i -t -p :80 LAMP /bin/bash
运行容器并做http端口转发

docker exec -it <container> /bin/bash
进入ubuntu类容器的bash

docker exec -it <container> /bin/sh
进入alpine类容器的sh

docker rm docker ps -a -q
删除所有已经停止的容器

docker kill $(docker ps -a -q)
杀死所有正在运行的容器,$()功能同提交/导出

docker build --rm=true -t hjue/lamp .
建立映像文件。–rm 选项是告诉Docker,在构建完成后删除临时的Container,Dockerfile的每一行指令都会创建一个临时的Container,一般这些临时生成的Container是不需要的

docker commit 3a09b2588478 mynewimage
提交你的变更,并且把容器保存成镜像,命名为mynewimage,3a09b2588478为容器的ID

docker save mynewimage | bzip2 -9 -c> /home/save.tar.bz2
把 mynewimage 镜像保存成 tar 文件

docker rmi [image-id]
删除镜像

docker rmi $(docker images -q)
删除所有镜像

docker rmi $(sudo docker images --filter "dangling=true" -q --no-trunc)
删除无用镜像

docker run --help 帮助