docker 常用命令总结

wylc123 1年前 ⋅ 1190 阅读

1.显示所有的容器,包括未运行的。

docker ps -a

显示运行的容器

docker ps

2.查看本地镜像列表。

docker images

3.列出本地镜像中REPOSITORY为ubuntu的镜像列表

docker images ubuntu

4.docker批量删除容器、镜像

1、删除所有容器

docker rm `docker ps -a -q`

删除单个容器

docker rm <container...> 删除一个或多个container

2、删除所有镜像

docker rmi `docker images -q`

docker rmi <image...> 删除一个或多个image

3、按条件删除镜像

  没有打标签

       docker rmi `docker images -q | awk '/^<none>/ { print $3 }'`

       镜像名包含关键字

       docker rmi --force `docker images | grep doss-api | awk '{print $3}'` //其中doss-api为关键字

5、启动docker 

/bin/systemctl start docker

关闭docker

/binj/systemctl stop docker

6、启动容器

docker start $container_id

5.Docker导入、导出、删除容器

1、导出某个容器
导出某个容器,非常简单,使用docker export命令,语法:docker export $container_id > 容器快照名

导出后在本地可以看到有一个centos.tar的容器快照。

2、导入某个容器--docker import命令
有了容器快照之后,我们可以在想要的时候随时导入。导入快照使用docker import命令。

例如我们可以使用cat centos.tar | docker import - my/centos:v888 导入容器快照作为镜像

处理本地的容器快照导入为镜像,我们还可以通过指定一个URL或者目录来导入。
例如在某个网络上有个快照image_test.tgz:docker import http://xxxx.com/image_test.tgz test/image_test

镜像保存/载入:docker load/docker save;将一个镜像导出为文件,再使用docker load命令将文件导入为一个镜像,会保存该镜像的的所有历史记录。比docker export命令导出的文件大,很好理解,因为会保存镜像的所有历史记录。

容器导入/导出:docker import/docker export;将一个容器导出为文件,再使用docker import命令将容器导入成为一个新的镜像,但是相比docker save命令,容器文件会丢失所有元数据和历史记录,仅保存容器当时的状态,相当于虚拟机快照。


3、删除容器
可以使用"docker rm 容器id"来删除一个终止状态的容器;若要删除一个运行中的容器,需要加-f参数。

6.启动Docker容器并映射80端口至本地

sudo docker run -i -t -d -p 8081:80 onlyoffice/documentserver

直接输入docker –help可以查看Docker的子命令。

总结一下常用命令:

其中<>括起来的参数为必选,[]括起来为可选。

  • docker version 查看docker的版本号,包括客户端、服务端、依赖的Go等
  • docker info 查看系统(docker)层面信息,包括管理的images, containers数等
  • docker search <image> 在docker index中搜索image
  • docker pull <image> 从docker registry server 中下拉image
  • docker push <image|repository> 推送一个image或repository到registry
  • docker push <image|repository>:TAG 同上,指定tag
  • docker inspect <image|container> 查看image或container的底层信息
  • docker images TODO filter out the intermediate image layers (intermediate image layers 是什么)
  • docker images -a 列出所有的images
  • docker ps 默认显示正在运行中的container
  • docker ps -l 显示最后一次创建的container,包括未运行的
  • docker ps -a 显示所有的container,包括未运行的
  • docker logs <container> 查看container的日志,也就是执行命令的一些输出
  • docker rm <container...> 删除一个或多个container
  • docker rm `docker ps -a -q` 删除所有的container
  • docker ps -a -q | xargs docker rm 同上, 删除所有的container
  • docker rmi <image...> 删除一个或多个image
  • docker start/stop/restart <container> 开启/停止/重启container
  • docker start -i <container> 启动一个container并进入交互模式
  • docker attach <container> attach一个运行中的container
  • docker run <image> <command> 使用image创建container并执行相应命令,然后停止
  • docker run -i -t <image> /bin/bash 使用image创建container并进入交互模式, login shell是/bin/bash
  • docker run -i -t -p <host_port:contain_port> 将container的端口映射到宿主机的端口
  • docker commit <container> [repo:tag] 将一个container固化为一个新的image,后面的repo:tag可选
  • docker build <path> 寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的image
  • docker build -t repo[:tag] 同上,可以指定repo和可选的tag
  • docker build - < <dockerfile> 使用指定的dockerfile配置文件,docker以stdin方式获取内容,使用此配置生成新的image
  • docker port <container> <container port> 查看本地哪个端口映射到container的指定端口,或者用docker ps 也可以看到。


更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: